Support http/3
This commit is contained in:
parent
ffee26bd9a
commit
308646552f
|
|
@ -9,7 +9,7 @@ android {
|
|||
defaultConfig {
|
||||
applicationId "com.github.catvod.demo"
|
||||
minSdk 17
|
||||
targetSdk 33
|
||||
targetSdk 29
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
|
|
@ -32,6 +32,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.google.net.cronet:cronet-okhttp:0.1.0'
|
||||
implementation 'com.squareup.okhttp3:okhttp:3.12.13'
|
||||
implementation 'com.google.code.gson:gson:2.8.6'
|
||||
implementation 'cn.wanghaomiao:JsoupXpath:2.5.1'
|
||||
|
|
|
|||
|
|
@ -29,3 +29,5 @@
|
|||
# OkHttp
|
||||
-keep class okio.**{*;}
|
||||
-keep class okhttp3.**{*;}
|
||||
-keep class com.google.net.**{*;}
|
||||
-keep class org.chromium.net.**{*;}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package com.github.catvod.bean.alist;
|
|||
import android.text.TextUtils;
|
||||
|
||||
import com.github.catvod.bean.Class;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public class Drive {
|
|||
}
|
||||
|
||||
public Drive check() {
|
||||
if (getVersion() == 0) setVersion(OkHttpUtil.string(settingsApi()).contains("v2.") ? 2 : 3);
|
||||
if (getVersion() == 0) setVersion(OkHttp.string(settingsApi()).contains("v2.") ? 2 : 3);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.github.catvod.net;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Response;
|
||||
|
||||
public class CallBack {
|
||||
|
||||
private String result;
|
||||
|
||||
public String getResult() {
|
||||
return result;
|
||||
}
|
||||
|
||||
public void setResult(String val) {
|
||||
result = val;
|
||||
}
|
||||
|
||||
public void onSuccess(Call call, Response response) {
|
||||
setResult(onParseResponse(call, response));
|
||||
}
|
||||
|
||||
public void onError() {
|
||||
setResult("");
|
||||
}
|
||||
|
||||
public String onParseResponse(Call call, Response response) {
|
||||
try {
|
||||
return response.body().string();
|
||||
} catch (IOException e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
package com.github.catvod.net;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Response;
|
||||
|
||||
public abstract class OKCallBack<T> {
|
||||
|
||||
private T result = null;
|
||||
|
||||
public T getResult() {
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void setResult(T val) {
|
||||
result = val;
|
||||
}
|
||||
|
||||
protected void onError(final Call call, final Exception e) {
|
||||
onFailure(call, e);
|
||||
}
|
||||
|
||||
protected void onSuccess(Call call, Response response) {
|
||||
T obj = onParseResponse(call, response);
|
||||
setResult(obj);
|
||||
onResponse(obj);
|
||||
}
|
||||
|
||||
protected abstract T onParseResponse(Call call, Response response);
|
||||
|
||||
protected void onFailure(Call call, Exception e) {
|
||||
}
|
||||
|
||||
protected abstract void onResponse(T response);
|
||||
|
||||
public static class OKCallBackDefault extends OKCallBack<Response> {
|
||||
|
||||
@Override
|
||||
public Response onParseResponse(Call call, Response response) {
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResponse(Response response) {
|
||||
}
|
||||
}
|
||||
|
||||
public static class OKCallBackString extends OKCallBack<String> {
|
||||
|
||||
@Override
|
||||
public void onError(Call call, Exception e) {
|
||||
setResult("");
|
||||
super.onError(call, e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onParseResponse(Call call, Response response) {
|
||||
try {
|
||||
return response.body().string();
|
||||
} catch (IOException e) {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onFailure(Call call, Exception e) {
|
||||
setResult("");
|
||||
super.onFailure(call, e);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResponse(String response) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,11 @@
|
|||
package com.github.catvod.net;
|
||||
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.spider.Init;
|
||||
import com.google.net.cronet.okhttptransport.CronetInterceptor;
|
||||
|
||||
import org.chromium.net.CronetEngine;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
|
@ -12,23 +15,38 @@ import okhttp3.Dns;
|
|||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Response;
|
||||
|
||||
public class OkHttpUtil {
|
||||
public class OkHttp {
|
||||
|
||||
public static final String METHOD_GET = "GET";
|
||||
public static final String METHOD_POST = "POST";
|
||||
public static final String METHOD_GET = "GET";
|
||||
|
||||
private static final Object lockO = new Object();
|
||||
private static OkHttpClient defaultClient = null;
|
||||
private static final int DEFAULT_TIMEOUT = 15;
|
||||
private final OkHttpClient noRedirect;
|
||||
private final OkHttpClient client;
|
||||
|
||||
public static OkHttpClient defaultClient() {
|
||||
synchronized (lockO) {
|
||||
if (defaultClient == null) {
|
||||
OkHttpClient.Builder builder = new OkHttpClient.Builder().dns(safeDns()).readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).retryOnConnectionFailure(true).hostnameVerifier(SSLSocketFactoryCompat.hostnameVerifier).sslSocketFactory(new SSLSocketFactoryCompat(), SSLSocketFactoryCompat.trustAllCert);
|
||||
defaultClient = builder.build();
|
||||
private static class Loader {
|
||||
static volatile OkHttp INSTANCE = new OkHttp();
|
||||
}
|
||||
return defaultClient;
|
||||
|
||||
public static OkHttp get() {
|
||||
return Loader.INSTANCE;
|
||||
}
|
||||
|
||||
public OkHttp() {
|
||||
client = getBuilder().build();
|
||||
noRedirect = client.newBuilder().followRedirects(false).followSslRedirects(false).build();
|
||||
}
|
||||
|
||||
private OkHttpClient.Builder getBuilder() {
|
||||
CronetEngine engine = new CronetEngine.Builder(Init.context()).build();
|
||||
return new OkHttpClient.Builder().dns(safeDns()).addInterceptor(CronetInterceptor.newBuilder(engine).build()).callTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).connectTimeout(30, TimeUnit.SECONDS).retryOnConnectionFailure(true).hostnameVerifier(SSLSocketFactoryCompat.hostnameVerifier).sslSocketFactory(new SSLSocketFactoryCompat(), SSLSocketFactoryCompat.trustAllCert);
|
||||
}
|
||||
|
||||
private static OkHttpClient client() {
|
||||
return get().client;
|
||||
}
|
||||
|
||||
private static OkHttpClient noRedirect() {
|
||||
return get().noRedirect;
|
||||
}
|
||||
|
||||
public static Dns safeDns() {
|
||||
|
|
@ -39,26 +57,22 @@ public class OkHttpUtil {
|
|||
}
|
||||
}
|
||||
|
||||
public static String stringNoRedirect(String url, Map<String, String> headerMap, Map<String, List<String>> respHeaderMap) {
|
||||
return string(new OkHttpClient.Builder().dns(safeDns()).readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS).followRedirects(false).followSslRedirects(false).retryOnConnectionFailure(true).sslSocketFactory(new SSLSocketFactoryCompat(), SSLSocketFactoryCompat.trustAllCert).build(), url, null, null, headerMap, respHeaderMap, OkHttpUtil.METHOD_GET);
|
||||
public static void stringNoRedirect(String url, Map<String, String> headerMap, Map<String, List<String>> respHeaderMap) {
|
||||
string(noRedirect(), url, null, null, headerMap, respHeaderMap, OkHttp.METHOD_GET);
|
||||
}
|
||||
|
||||
public static String string(OkHttpClient client, String url, String tag, Map<String, String> paramsMap, Map<String, String> headerMap, Map<String, List<String>> respHeaderMap, String httpMethod) {
|
||||
OKCallBack.OKCallBackString callback = new OKCallBack.OKCallBackString() {
|
||||
CallBack callback = new CallBack() {
|
||||
@Override
|
||||
public String onParseResponse(Call call, Response response) {
|
||||
try {
|
||||
if (respHeaderMap != null) {
|
||||
respHeaderMap.clear();
|
||||
respHeaderMap.putAll(response.headers().toMultimap());
|
||||
}
|
||||
return response.body().string();
|
||||
} catch (IOException e) {
|
||||
return "";
|
||||
}
|
||||
return super.onParseResponse(call, response);
|
||||
}
|
||||
};
|
||||
OKRequest req = new OKRequest(httpMethod, url, paramsMap, headerMap, callback);
|
||||
OkRequest req = new OkRequest(httpMethod, url, paramsMap, headerMap, callback);
|
||||
req.setTag(tag);
|
||||
req.execute(client);
|
||||
return callback.getResult();
|
||||
|
|
@ -85,19 +99,19 @@ public class OkHttpUtil {
|
|||
}
|
||||
|
||||
public static String string(String url, String tag, Map<String, String> paramsMap, Map<String, String> headerMap, Map<String, List<String>> respHeaderMap) {
|
||||
return string(defaultClient(), url, tag, paramsMap, headerMap, respHeaderMap, OkHttpUtil.METHOD_GET);
|
||||
return string(client(), url, tag, paramsMap, headerMap, respHeaderMap, OkHttp.METHOD_GET);
|
||||
}
|
||||
|
||||
public static void get(String url, OKCallBack callBack) {
|
||||
public static void get(String url, CallBack callBack) {
|
||||
get(url, null, callBack);
|
||||
}
|
||||
|
||||
public static void get(String url, Map<String, String> paramsMap, OKCallBack callBack) {
|
||||
public static void get(String url, Map<String, String> paramsMap, CallBack callBack) {
|
||||
get(url, paramsMap, null, callBack);
|
||||
}
|
||||
|
||||
public static void get(String url, Map<String, String> paramsMap, Map<String, String> headerMap, OKCallBack callBack) {
|
||||
new OKRequest(METHOD_GET, url, paramsMap, headerMap, callBack).execute(defaultClient());
|
||||
public static void get(String url, Map<String, String> paramsMap, Map<String, String> headerMap, CallBack callBack) {
|
||||
new OkRequest(METHOD_GET, url, paramsMap, headerMap, callBack).execute(client());
|
||||
}
|
||||
|
||||
public static String post(String url) {
|
||||
|
|
@ -113,7 +127,7 @@ public class OkHttpUtil {
|
|||
}
|
||||
|
||||
public static String post(String url, Map<String, String> paramsMap, Map<String, String> headerMap, Map<String, List<String>> respHeaderMap) {
|
||||
return string(defaultClient(), url, null, paramsMap, headerMap, respHeaderMap, METHOD_POST);
|
||||
return string(client(), url, null, paramsMap, headerMap, respHeaderMap, METHOD_POST);
|
||||
}
|
||||
|
||||
public static String postJson(String url, String json) {
|
||||
|
|
@ -121,8 +135,8 @@ public class OkHttpUtil {
|
|||
}
|
||||
|
||||
public static String postJson(String url, String json, Map<String, String> headerMap) {
|
||||
OKCallBack.OKCallBackString callback = new OKCallBack.OKCallBackString();
|
||||
new OKRequest(METHOD_POST, url, json, headerMap, callback).execute(defaultClient());
|
||||
CallBack callback = new CallBack();
|
||||
new OkRequest(METHOD_POST, url, json, headerMap, callback).execute(client());
|
||||
return callback.getResult();
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +155,7 @@ public class OkHttpUtil {
|
|||
}
|
||||
|
||||
public static void cancel(Object tag) {
|
||||
cancel(defaultClient(), tag);
|
||||
cancel(client(), tag);
|
||||
}
|
||||
|
||||
public static String getRedirectLocation(Map<String, List<String>> headers) {
|
||||
|
|
@ -9,30 +9,31 @@ import okhttp3.Call;
|
|||
import okhttp3.FormBody;
|
||||
import okhttp3.MediaType;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.RequestBody;
|
||||
import okhttp3.Response;
|
||||
|
||||
class OKRequest {
|
||||
class OkRequest {
|
||||
|
||||
private final String mMethodType;
|
||||
private final Map<String, String> mParamsMap;
|
||||
private final String mJsonStr;
|
||||
private final Map<String, String> mHeaderMap;
|
||||
private final OKCallBack mCallBack;
|
||||
private final CallBack mCallBack;
|
||||
private String mUrl;
|
||||
private Object mTag = null;
|
||||
private okhttp3.Request mOkHttpRequest;
|
||||
private okhttp3.Request.Builder mRequestBuilder;
|
||||
private Request mOkHttpRequest;
|
||||
private Request.Builder mRequestBuilder;
|
||||
|
||||
OKRequest(String methodType, String url, Map<String, String> paramsMap, Map<String, String> headerMap, OKCallBack callBack) {
|
||||
OkRequest(String methodType, String url, Map<String, String> paramsMap, Map<String, String> headerMap, CallBack callBack) {
|
||||
this(methodType, url, null, paramsMap, headerMap, callBack);
|
||||
}
|
||||
|
||||
OKRequest(String methodType, String url, String jsonStr, Map<String, String> headerMap, OKCallBack callBack) {
|
||||
OkRequest(String methodType, String url, String jsonStr, Map<String, String> headerMap, CallBack callBack) {
|
||||
this(methodType, url, jsonStr, null, headerMap, callBack);
|
||||
}
|
||||
|
||||
private OKRequest(String methodType, String url, String jsonStr, Map<String, String> paramsMap, Map<String, String> headerMap, OKCallBack callBack) {
|
||||
private OkRequest(String methodType, String url, String jsonStr, Map<String, String> paramsMap, Map<String, String> headerMap, CallBack callBack) {
|
||||
mMethodType = methodType;
|
||||
mUrl = url;
|
||||
mJsonStr = jsonStr;
|
||||
|
|
@ -47,12 +48,12 @@ class OKRequest {
|
|||
}
|
||||
|
||||
private void getInstance() {
|
||||
mRequestBuilder = new okhttp3.Request.Builder();
|
||||
mRequestBuilder = new Request.Builder();
|
||||
switch (mMethodType) {
|
||||
case OkHttpUtil.METHOD_GET:
|
||||
case OkHttp.METHOD_GET:
|
||||
setGetParams();
|
||||
break;
|
||||
case OkHttpUtil.METHOD_POST:
|
||||
case OkHttp.METHOD_POST:
|
||||
mRequestBuilder.post(getRequestBody());
|
||||
break;
|
||||
}
|
||||
|
|
@ -106,7 +107,7 @@ class OKRequest {
|
|||
}
|
||||
} catch (IOException e) {
|
||||
if (mCallBack != null) {
|
||||
mCallBack.onError(call, e);
|
||||
mCallBack.onError();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@ package com.github.catvod.parser;
|
|||
import android.util.Base64;
|
||||
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
|
@ -26,7 +26,7 @@ public class JsonBasic {
|
|||
String realUrl = reqHeaders.get("url");
|
||||
reqHeaders.remove("url");
|
||||
SpiderDebug.log(realUrl + url);
|
||||
String json = OkHttpUtil.string(realUrl + url, reqHeaders);
|
||||
String json = OkHttp.string(realUrl + url, reqHeaders);
|
||||
JSONObject taskResult = Misc.jsonParse(url, json);
|
||||
if (taskResult == null) continue;
|
||||
taskResult.put("jxFrom", jxName);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.github.catvod.parser;
|
||||
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
|
@ -35,7 +35,7 @@ public class JsonParallel {
|
|||
String realUrl = reqHeaders.get("url");
|
||||
reqHeaders.remove("url");
|
||||
SpiderDebug.log(realUrl + url);
|
||||
String json = OkHttpUtil.string(realUrl + url, ParseOKTag, reqHeaders);
|
||||
String json = OkHttp.string(realUrl + url, ParseOKTag, reqHeaders);
|
||||
JSONObject taskResult = Misc.jsonParse(url, json);
|
||||
taskResult.put("jxFrom", jxName);
|
||||
SpiderDebug.log(taskResult.toString());
|
||||
|
|
@ -51,7 +51,7 @@ public class JsonParallel {
|
|||
Future<JSONObject> completed = completionService.take();
|
||||
pTaskResult = completed.get();
|
||||
if (pTaskResult != null) {
|
||||
OkHttpUtil.cancel(ParseOKTag);
|
||||
OkHttp.cancel(ParseOKTag);
|
||||
for (int j = 0; j < futures.size(); j++) {
|
||||
try {
|
||||
futures.get(j).cancel(true);
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.github.catvod.parser;
|
||||
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
|
@ -22,7 +22,7 @@ public class JsonSequence {
|
|||
String realUrl = reqHeaders.get("url");
|
||||
reqHeaders.remove("url");
|
||||
SpiderDebug.log(realUrl + url);
|
||||
String json = OkHttpUtil.string(realUrl + url, reqHeaders);
|
||||
String json = OkHttp.string(realUrl + url, reqHeaders);
|
||||
JSONObject taskResult = Misc.jsonParse(url, json);
|
||||
if (taskResult == null) continue;
|
||||
taskResult.put("jxFrom", jxName);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.github.catvod.bean.alist.Drive;
|
|||
import com.github.catvod.bean.alist.Item;
|
||||
import com.github.catvod.bean.alist.Sorter;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Trans;
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ public class AList extends Spider {
|
|||
|
||||
private void fetchRule() {
|
||||
if (drives != null && !drives.isEmpty()) return;
|
||||
if (ext.startsWith("http")) ext = OkHttpUtil.string(ext);
|
||||
if (ext.startsWith("http")) ext = OkHttp.string(ext);
|
||||
drives = Drive.objectFrom(ext).getDrives();
|
||||
}
|
||||
|
||||
|
|
@ -135,7 +135,7 @@ public class AList extends Spider {
|
|||
JSONObject params = new JSONObject();
|
||||
params.put("path", path);
|
||||
params.put("password", drive.getPassword());
|
||||
String response = OkHttpUtil.postJson(drive.getApi(), params.toString());
|
||||
String response = OkHttp.postJson(drive.getApi(), params.toString());
|
||||
return Item.objectFrom(getDetailJson(drive.isNew(), response));
|
||||
} catch (Exception e) {
|
||||
return new Item();
|
||||
|
|
@ -150,7 +150,7 @@ public class AList extends Spider {
|
|||
JSONObject params = new JSONObject();
|
||||
params.put("path", path);
|
||||
params.put("password", drive.getPassword());
|
||||
String response = OkHttpUtil.postJson(drive.listApi(), params.toString());
|
||||
String response = OkHttp.postJson(drive.listApi(), params.toString());
|
||||
List<Item> items = Item.arrayFrom(getListJson(drive.isNew(), response));
|
||||
Iterator<Item> iterator = items.iterator();
|
||||
if (filter) while (iterator.hasNext()) if (iterator.next().ignore(drive.isNew())) iterator.remove();
|
||||
|
|
@ -162,7 +162,7 @@ public class AList extends Spider {
|
|||
|
||||
private void search(CountDownLatch cd, List<Vod> list, Drive drive, String keyword) {
|
||||
try {
|
||||
String response = OkHttpUtil.postJson(drive.searchApi(), drive.params(keyword));
|
||||
String response = OkHttp.postJson(drive.searchApi(), drive.params(keyword));
|
||||
List<Item> items = Item.arrayFrom(getSearchJson(drive.isNew(), response));
|
||||
for (Item item : items) if (!item.ignore(drive.isNew())) list.add(item.getVod(drive));
|
||||
} catch (Exception e) {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import com.github.catvod.bean.Vod;
|
|||
import com.github.catvod.bean.ali.Data;
|
||||
import com.github.catvod.bean.ali.Item;
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Prefers;
|
||||
import com.github.catvod.utils.QRCode;
|
||||
|
|
@ -49,7 +49,7 @@ public class Ali {
|
|||
|
||||
public Ali(String token) {
|
||||
if (TextUtils.isEmpty(token)) Init.show("尚未設定 Token");
|
||||
if (token.startsWith("http")) token = OkHttpUtil.string(token);
|
||||
if (token.startsWith("http")) token = OkHttp.string(token);
|
||||
refreshToken = Prefers.getString("token", token);
|
||||
}
|
||||
|
||||
|
|
@ -69,12 +69,12 @@ public class Ali {
|
|||
|
||||
private String post(String url, JSONObject body) {
|
||||
url = url.startsWith("https") ? url : "https://api.aliyundrive.com/" + url;
|
||||
return OkHttpUtil.postJson(url, body.toString(), getHeaders());
|
||||
return OkHttp.postJson(url, body.toString(), getHeaders());
|
||||
}
|
||||
|
||||
private static String post(String url, JSONObject body, String shareToken) {
|
||||
url = url.startsWith("https") ? url : "https://api.aliyundrive.com/" + url;
|
||||
return OkHttpUtil.postJson(url, body.toString(), getHeaders(shareToken));
|
||||
return OkHttp.postJson(url, body.toString(), getHeaders(shareToken));
|
||||
}
|
||||
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
|
|
@ -252,8 +252,8 @@ public class Ali {
|
|||
String json = post("v2/file/get_share_link_video_preview_play_info", body, shareToken);
|
||||
JSONArray taskList = new JSONObject(json).getJSONObject("video_preview_play_info").getJSONArray("live_transcoding_task_list");
|
||||
Map<String, List<String>> respHeaders = new HashMap<>();
|
||||
OkHttpUtil.stringNoRedirect(getPreviewQuality(taskList), getHeaders(), respHeaders);
|
||||
return OkHttpUtil.getRedirectLocation(respHeaders);
|
||||
OkHttp.stringNoRedirect(getPreviewQuality(taskList), getHeaders(), respHeaders);
|
||||
return OkHttp.getRedirectLocation(respHeaders);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return "";
|
||||
|
|
@ -269,8 +269,8 @@ public class Ali {
|
|||
String json = post("v2/file/get_share_link_download_url", body, shareToken);
|
||||
String url = new JSONObject(json).optString("download_url");
|
||||
Map<String, List<String>> respHeaders = new HashMap<>();
|
||||
OkHttpUtil.stringNoRedirect(url, getHeaders(), respHeaders);
|
||||
return OkHttpUtil.getRedirectLocation(respHeaders);
|
||||
OkHttp.stringNoRedirect(url, getHeaders(), respHeaders);
|
||||
return OkHttp.getRedirectLocation(respHeaders);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return "";
|
||||
|
|
@ -281,7 +281,7 @@ public class Ali {
|
|||
String shareId = params.get("share_id");
|
||||
String shareToken = params.get("share_token");
|
||||
String fileId = params.get("file_id");
|
||||
String text = OkHttpUtil.string(getDownloadUrl(shareId, shareToken, fileId), getHeaders(shareToken));
|
||||
String text = OkHttp.string(getDownloadUrl(shareId, shareToken, fileId), getHeaders(shareToken));
|
||||
Object[] result = new Object[3];
|
||||
result[0] = 200;
|
||||
result[1] = "application/octet-stream";
|
||||
|
|
@ -297,14 +297,14 @@ public class Ali {
|
|||
private void getQRCode() {
|
||||
HashMap<String, String> headers = new HashMap<>();
|
||||
headers.put("User-Agent", Misc.CHROME);
|
||||
Data data = Data.objectFrom(OkHttpUtil.string("https://easy-token.cooluc.com/qr", headers));
|
||||
Data data = Data.objectFrom(OkHttp.string("https://easy-token.cooluc.com/qr", headers));
|
||||
if (data != null) Init.run(() -> showCode(data));
|
||||
service = Executors.newScheduledThreadPool(1);
|
||||
if (data != null) service.scheduleAtFixedRate(() -> {
|
||||
JsonObject params = new JsonObject();
|
||||
params.addProperty("t", data.getData().getT());
|
||||
params.addProperty("ck", data.getData().getCk());
|
||||
Data result = Data.objectFrom(OkHttpUtil.postJson("https://easy-token.cooluc.com/ck", params.toString(), headers));
|
||||
Data result = Data.objectFrom(OkHttp.postJson("https://easy-token.cooluc.com/ck", params.toString(), headers));
|
||||
if (result.hasToken()) setToken(result.getData().getRefreshToken());
|
||||
}, 1, 1, TimeUnit.SECONDS);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.github.catvod.bean.Class;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Trans;
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ public class Bili extends Spider {
|
|||
|
||||
private String getCookie(String cookie) {
|
||||
if (TextUtils.isEmpty(cookie)) return "buvid3=84B0395D-C9F2-C490-E92E-A09AB48FE26E71636infoc";
|
||||
if (cookie.startsWith("http")) return OkHttpUtil.string(cookie).replace("\n", "");
|
||||
if (cookie.startsWith("http")) return OkHttp.string(cookie).replace("\n", "");
|
||||
return cookie;
|
||||
}
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ public class Bili extends Spider {
|
|||
}
|
||||
|
||||
private void fetchExt() {
|
||||
String result = OkHttpUtil.string(extend);
|
||||
String result = OkHttp.string(extend);
|
||||
if (!TextUtils.isEmpty(result)) extend = result;
|
||||
}
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public class Bili extends Spider {
|
|||
String duration = extend.containsKey("duration") ? extend.get("duration") : "0";
|
||||
if (extend.containsKey("tid")) tid = tid + " " + extend.get("tid");
|
||||
String url = "https://api.bilibili.com/x/web-interface/search/type?search_type=video&keyword=" + URLEncoder.encode(tid) + "&duration=" + duration + "&page=" + pg;
|
||||
JSONObject resp = new JSONObject(OkHttpUtil.string(url, header));
|
||||
JSONObject resp = new JSONObject(OkHttp.string(url, header));
|
||||
JSONArray result = resp.getJSONObject("data").getJSONArray("result");
|
||||
List<Vod> list = new ArrayList<>();
|
||||
for (int i = 0; i < result.length(); ++i) {
|
||||
|
|
@ -102,10 +102,10 @@ public class Bili extends Spider {
|
|||
public String detailContent(List<String> ids) throws Exception {
|
||||
String bvid = ids.get(0);
|
||||
String bvid2aidUrl = "https://api.bilibili.com/x/web-interface/archive/stat?bvid=" + bvid;
|
||||
JSONObject bvid2aidResp = new JSONObject(OkHttpUtil.string(bvid2aidUrl, header));
|
||||
JSONObject bvid2aidResp = new JSONObject(OkHttp.string(bvid2aidUrl, header));
|
||||
String aid = bvid2aidResp.getJSONObject("data").getLong("aid") + "";
|
||||
String detailUrl = "https://api.bilibili.com/x/web-interface/view?aid=" + aid;
|
||||
JSONObject detailResp = new JSONObject(OkHttpUtil.string(detailUrl, header));
|
||||
JSONObject detailResp = new JSONObject(OkHttp.string(detailUrl, header));
|
||||
JSONObject detailData = detailResp.getJSONObject("data");
|
||||
List<String> playlist = new ArrayList<>();
|
||||
JSONArray pages = detailData.getJSONArray("pages");
|
||||
|
|
@ -137,7 +137,7 @@ public class Bili extends Spider {
|
|||
String aid = ids[0];
|
||||
String cid = ids[1];
|
||||
String url = "https://api.bilibili.com/x/player/playurl?avid=" + aid + "&cid=" + cid + "&qn=120&fourk=1";
|
||||
JSONObject resp = new JSONObject(OkHttpUtil.string(url, header));
|
||||
JSONObject resp = new JSONObject(OkHttp.string(url, header));
|
||||
url = resp.getJSONObject("data").getJSONArray("durl").getJSONObject(0).getString("url");
|
||||
return Result.get().url(url).header(header).string();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.github.catvod.bean.Filter;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Trans;
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ public class Dm84 extends Spider {
|
|||
List<Vod> list = new ArrayList<>();
|
||||
List<Class> classes = new ArrayList<>();
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl, getHeaders()));
|
||||
for (Element element : doc.select("ul.nav_row > li > a")) {
|
||||
if (element.attr("href").startsWith("/list")) {
|
||||
String id = element.attr("href").split("-")[1].substring(0, 1);
|
||||
|
|
@ -65,7 +65,7 @@ public class Dm84 extends Spider {
|
|||
}
|
||||
}
|
||||
for (Class item : classes) {
|
||||
doc = Jsoup.parse(OkHttpUtil.string(siteUrl + "/list-" + item.getTypeId() + ".html", getHeaders()));
|
||||
doc = Jsoup.parse(OkHttp.string(siteUrl + "/list-" + item.getTypeId() + ".html", getHeaders()));
|
||||
Elements elements = doc.select("ul.list_filter > li > div");
|
||||
List<Filter> array = new ArrayList<>();
|
||||
array.add(getFilter("類型", "type", elements.get(0).select("a").eachText()));
|
||||
|
|
@ -94,7 +94,7 @@ public class Dm84 extends Spider {
|
|||
String type = URLEncoder.encode(extend.get("type"));
|
||||
String year = extend.get("year");
|
||||
String target = siteUrl + String.format("/show-%s--%s-%s--%s-%s.html", tid, by, type, year, pg);
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
for (Element element : doc.select("div.item")) {
|
||||
String img = element.select("a.cover").attr("data-bg");
|
||||
String url = element.select("a.title").attr("href");
|
||||
|
|
@ -108,7 +108,7 @@ public class Dm84 extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl.concat("/v/").concat(ids.get(0)), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat("/v/").concat(ids.get(0)), getHeaders()));
|
||||
String name = doc.select("h1.v_title").text();
|
||||
String remarks = doc.select("p.v_desc > span.desc").text();
|
||||
String img = doc.select("meta[property=og:image]").attr("content");
|
||||
|
|
@ -158,7 +158,7 @@ public class Dm84 extends Spider {
|
|||
public String searchContent(String key, boolean quick) {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
String target = siteUrl.concat("/s----------.html?wd=").concat(key);
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
for (Element element : doc.select("div.item")) {
|
||||
String img = element.select("a.cover").attr("data-bg");
|
||||
String url = element.select("a.title").attr("href");
|
||||
|
|
@ -172,7 +172,7 @@ public class Dm84 extends Spider {
|
|||
|
||||
@Override
|
||||
public String playerContent(String flag, String id, List<String> vipFlags) {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl.concat(id), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat(id), getHeaders()));
|
||||
String url = doc.select("iframe").attr("src");
|
||||
return Result.get().url(url).parse().header(getHeaders()).string();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.github.catvod.bean.Class;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -27,7 +27,7 @@ public class Doll extends Spider {
|
|||
public String homeContent(boolean filter) throws Exception {
|
||||
List<Class> classes = new ArrayList<>();
|
||||
List<Vod> list = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url));
|
||||
for (Element a : doc.select("ul#side-menu").get(0).select("li > a")) {
|
||||
String typeName = a.text();
|
||||
String typeId = a.attr("href").replace(url, "");
|
||||
|
|
@ -47,7 +47,7 @@ public class Doll extends Spider {
|
|||
public String categoryContent(String tid, String pg, boolean filter, HashMap<String, String> extend) throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
String target = pg.equals("1") ? url + tid : url + tid + "/" + pg + ".html";
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target));
|
||||
for (Element div : doc.select("div.video-detail")) {
|
||||
String id = div.select("h3.video-title > a").attr("href").replace(url, "");
|
||||
String name = div.select("h3.video-title > a").text();
|
||||
|
|
@ -60,7 +60,7 @@ public class Doll extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url + ids.get(0)));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url + ids.get(0)));
|
||||
String name = doc.select("meta[property=og:title]").attr("content");
|
||||
String pic = doc.select("meta[property=og:image]").attr("content");
|
||||
Vod vod = new Vod();
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.github.catvod.bean.Class;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -27,7 +27,7 @@ public class Eighteen extends Spider {
|
|||
public String homeContent(boolean filter) throws Exception {
|
||||
List<Class> classes = new ArrayList<>();
|
||||
List<Vod> list = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url));
|
||||
for (Element a : doc.select("ul.animenu__nav > li > a")) {
|
||||
String typeName = a.text();
|
||||
String typeId = a.attr("href").replace(url, "");
|
||||
|
|
@ -50,7 +50,7 @@ public class Eighteen extends Spider {
|
|||
List<Vod> list = new ArrayList<>();
|
||||
tid = tid.replace("random", "list");
|
||||
tid = tid.replace("index", pg);
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url + tid));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url + tid));
|
||||
for (Element div : doc.select("div.post")) {
|
||||
String id = div.select("a").attr("href").replace(url, "");
|
||||
String name = div.select("h3").text();
|
||||
|
|
@ -63,7 +63,7 @@ public class Eighteen extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url + ids.get(0)));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url + ids.get(0)));
|
||||
Element wrap = doc.select("div.video-wrap").get(0);
|
||||
String name = wrap.select("div.archive-title > h1").text();
|
||||
String pic = wrap.select("div.player-wrap > img").attr("src");
|
||||
|
|
@ -82,7 +82,7 @@ public class Eighteen extends Spider {
|
|||
params.put("search_keyword", key);
|
||||
params.put("search_type", "fc");
|
||||
params.put("op", "search");
|
||||
String res = OkHttpUtil.post(url + "searchform_search/all/index.html", params);
|
||||
String res = OkHttp.post(url + "searchform_search/all/index.html", params);
|
||||
List<Vod> list = new ArrayList<>();
|
||||
for (Element div : Jsoup.parse(res).select("div.post")) {
|
||||
String id = div.select("a").attr("href").replace(url, "");
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.github.catvod.bean.Filter;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -42,10 +42,10 @@ public class Hanime extends Spider {
|
|||
List<Vod> list = new ArrayList<>();
|
||||
List<Class> classes = new ArrayList<>();
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
Document doc1 = Jsoup.parse(OkHttpUtil.string(siteUrl.concat("/search?genre=裏番"), getHeaders()));
|
||||
Document doc1 = Jsoup.parse(OkHttp.string(siteUrl.concat("/search?genre=裏番"), getHeaders()));
|
||||
List<String> sorts = doc1.select("div.hentai-sort-options").eachText();
|
||||
List<String> years = doc1.getElementById("year").select("option").eachAttr("value");
|
||||
Document doc2 = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders()));
|
||||
Document doc2 = Jsoup.parse(OkHttp.string(siteUrl, getHeaders()));
|
||||
for (Element element : doc2.select("a.nav-item")) {
|
||||
String text = element.text();
|
||||
if (text.equals("新番預告") || text.equals("H漫畫") || text.equals("我的清單")) continue;
|
||||
|
|
@ -74,7 +74,7 @@ public class Hanime extends Spider {
|
|||
if (extend.get("by") == null) extend.put("by", "最新上市");
|
||||
if (extend.get("year") == null) extend.put("year", "");
|
||||
String target = siteUrl.concat("/search?genre=").concat(tid).concat("&page=").concat(pg).concat("&sort=").concat(extend.get("by")).concat("&year=").concat(extend.get("year"));
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
for (Element element : doc.select("div.col-xs-6")) {
|
||||
String pic = element.select("div > a > div >img").get(1).attr("src");
|
||||
String url = element.select("div > div > div > a").attr("href");
|
||||
|
|
@ -99,7 +99,7 @@ public class Hanime extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl.concat("/watch?v=").concat(ids.get(0)), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat("/watch?v=").concat(ids.get(0)), getHeaders()));
|
||||
String name = doc.getElementById("shareBtn-title").text();
|
||||
String content = doc.getElementById("caption").text();
|
||||
String pic = doc.select("meta[property=og:image]").attr("content");
|
||||
|
|
@ -118,7 +118,7 @@ public class Hanime extends Spider {
|
|||
public String searchContent(String key, boolean quick) throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
String target = siteUrl.concat("/search?query=").concat(key).concat("&genre=&sort=&year=&month=&duration=");
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
for (Element element : doc.select("div.col-xs-6")) {
|
||||
String pic = element.select("div > a > div >img").get(1).attr("src");
|
||||
String url = element.select("div > div > div > a").attr("href");
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.github.catvod.bean.Class;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -34,13 +34,13 @@ public class Jable extends Spider {
|
|||
public String homeContent(boolean filter) throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
List<Class> classes = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(cateUrl, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(cateUrl, getHeaders()));
|
||||
for (Element element : doc.select("div.img-box > a")) {
|
||||
String typeId = element.attr("href").split("/")[4];
|
||||
String typeName = element.select("div.absolute-center > h4").text();
|
||||
classes.add(new Class(typeId, typeName));
|
||||
}
|
||||
doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders()));
|
||||
doc = Jsoup.parse(OkHttp.string(siteUrl, getHeaders()));
|
||||
for (Element element : doc.select("div.video-img-box")) {
|
||||
String pic = element.select("img").attr("data-src");
|
||||
String url = element.select("a").attr("href");
|
||||
|
|
@ -56,7 +56,7 @@ public class Jable extends Spider {
|
|||
public String categoryContent(String tid, String pg, boolean filter, HashMap<String, String> extend) throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
String target = cateUrl + tid + "/?mode=async&function=get_block&block_id=list_videos_common_videos_list&sort_by=post_date&from=" + String.format(Locale.getDefault(), "%02d", Integer.parseInt(pg)) + "&_=" + System.currentTimeMillis();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
for (Element element : doc.select("div.video-img-box")) {
|
||||
String pic = element.select("img").attr("data-src");
|
||||
String url = element.select("a").attr("href");
|
||||
|
|
@ -69,7 +69,7 @@ public class Jable extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(detailUrl.concat(ids.get(0)).concat("/"), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(detailUrl.concat(ids.get(0)).concat("/"), getHeaders()));
|
||||
String name = doc.select("meta[property=og:title]").attr("content");
|
||||
String pic = doc.select("meta[property=og:image]").attr("content");
|
||||
String year = doc.select("span.inactive-color").get(0).text();
|
||||
|
|
@ -86,7 +86,7 @@ public class Jable extends Spider {
|
|||
@Override
|
||||
public String searchContent(String key, boolean quick) throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(searchUrl.concat(URLEncoder.encode(key)).concat("/"), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(searchUrl.concat(URLEncoder.encode(key)).concat("/"), getHeaders()));
|
||||
for (Element element : doc.select("div.video-img-box")) {
|
||||
String pic = element.select("img").attr("data-src");
|
||||
String url = element.select("a").attr("href");
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.github.catvod.bean.Filter;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
import org.jsoup.nodes.Document;
|
||||
|
|
@ -29,7 +29,7 @@ public class Miss extends Spider {
|
|||
List<Class> classes = new ArrayList<>();
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
List<String> typeIds = Arrays.asList("chinese-subtitle", "new", "release", "uncensored-leak", "siro", "luxu", "gana", "maan", "scute", "ara", "uncensored-leak", "fc2", "heyzo", "tokyohot", "1pondo", "caribbeancom", "caribbeancompr", "10musume", "pacopacomama", "gachinco", "xxxav", "marriedslash", "naughty4610", "naughty0930", "madou", "twav");
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url));
|
||||
for (Element a : doc.select("nav").select("a")) {
|
||||
String typeName = a.text();
|
||||
String typeId = a.attr("href").replace(url, "");
|
||||
|
|
@ -55,7 +55,7 @@ public class Miss extends Spider {
|
|||
String filters = extend.get("filters");
|
||||
if (TextUtils.isEmpty(filters)) target += "?page=" + pg;
|
||||
else target += "?filters=" + extend.get("filters") + "&page=" + pg;
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target));
|
||||
for (Element div : doc.select("div.thumbnail")) {
|
||||
String id = div.select("a.text-secondary").attr("href").replace(url, "");
|
||||
String name = div.select("a.text-secondary").text();
|
||||
|
|
@ -69,7 +69,7 @@ public class Miss extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url + ids.get(0)));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url + ids.get(0)));
|
||||
String name = doc.select("meta[property=og:title]").attr("content");
|
||||
String pic = doc.select("meta[property=og:image]").attr("content");
|
||||
Vod vod = new Vod();
|
||||
|
|
@ -84,7 +84,7 @@ public class Miss extends Spider {
|
|||
@Override
|
||||
public String searchContent(String key, boolean quick) throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url + "search/" + key));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url + "search/" + key));
|
||||
for (Element div : doc.select("div.thumbnail")) {
|
||||
String id = div.select("a.text-secondary").attr("href").replace(url, "");
|
||||
String name = div.select("a.text-secondary").text();
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import android.content.Context;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -44,8 +44,8 @@ public class PanSou extends Spider {
|
|||
public String detailContent(List<String> ids) throws Exception {
|
||||
String url = siteUrl + ids.get(0).replace("/s/", "/cv/");
|
||||
Map<String, List<String>> respHeaders = new HashMap<>();
|
||||
OkHttpUtil.stringNoRedirect(url, getHeaders(ids.get(0)), respHeaders);
|
||||
url = OkHttpUtil.getRedirectLocation(respHeaders);
|
||||
OkHttp.stringNoRedirect(url, getHeaders(ids.get(0)), respHeaders);
|
||||
url = OkHttp.getRedirectLocation(respHeaders);
|
||||
return ali.detailContent(Arrays.asList(url));
|
||||
}
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ public class PanSou extends Spider {
|
|||
String typeId = entry.getKey();
|
||||
String typeName = entry.getValue();
|
||||
String url = siteUrl + "/search?k=" + URLEncoder.encode(key) + "&t=" + typeId;
|
||||
Elements items = Jsoup.parse(OkHttpUtil.string(url)).select("van-row > a");
|
||||
Elements items = Jsoup.parse(OkHttp.string(url)).select("van-row > a");
|
||||
for (Element item : items) {
|
||||
String title = item.selectFirst("template").text().trim();
|
||||
if (!title.contains(key)) continue;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.github.catvod.bean.Result;
|
|||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.bean.paper.Data;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
|
@ -48,7 +48,7 @@ public class Paper extends Spider {
|
|||
|
||||
@Override
|
||||
public String homeContent(boolean filter) {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url, getHeaders()));
|
||||
Elements trs = doc.select("table.tableizer-table > tbody > tr");
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
List<Class> classes = new ArrayList<>();
|
||||
|
|
@ -72,7 +72,7 @@ public class Paper extends Spider {
|
|||
@Override
|
||||
public String homeVideoContent() throws Exception {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
JSONObject homeData = new JSONObject(OkHttpUtil.string(url + "home.json", getHeaders()));
|
||||
JSONObject homeData = new JSONObject(OkHttp.string(url + "home.json", getHeaders()));
|
||||
List<Data> items = Data.arrayFrom(homeData.getJSONObject("info").getJSONArray("new").toString());
|
||||
for (Data item : items) if (types.contains(item.getCat())) list.add(item.getVod());
|
||||
return Result.string(list);
|
||||
|
|
@ -86,7 +86,7 @@ public class Paper extends Spider {
|
|||
params.put("action", "viewcat");
|
||||
params.put("cat", type);
|
||||
params.put("num", pg);
|
||||
String result = OkHttpUtil.post(api, params, getHeaders());
|
||||
String result = OkHttp.post(api, params, getHeaders());
|
||||
for (Data item : Data.arrayFrom(result)) list.add(item.getVod());
|
||||
return Result.string(list);
|
||||
}
|
||||
|
|
@ -102,7 +102,7 @@ public class Paper extends Spider {
|
|||
Map<String, String> params = new HashMap<>();
|
||||
params.put("action", "search");
|
||||
params.put("keyword", key);
|
||||
String result = OkHttpUtil.post(api, params, getHeaders());
|
||||
String result = OkHttp.post(api, params, getHeaders());
|
||||
for (Data item : Data.arrayFrom(result)) if (types.contains(item.getCat()) && item.getTitle().contains(key)) list.add(item.getVod());
|
||||
return Result.string(list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.github.catvod.spider;
|
|||
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
|
@ -28,7 +28,7 @@ public class Proxy extends Spider {
|
|||
if (Proxy.port > 0) return;
|
||||
int port = 9978;
|
||||
while (port < 10000) {
|
||||
String resp = OkHttpUtil.string("http://127.0.0.1:" + port + "/proxy?do=ck", null);
|
||||
String resp = OkHttp.string("http://127.0.0.1:" + port + "/proxy?do=ck", null);
|
||||
if (resp.equals("ok")) {
|
||||
SpiderDebug.log("Found local server port " + port);
|
||||
Proxy.port = port;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.github.catvod.bean.Class;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -42,7 +42,7 @@ public class Supjav extends Spider {
|
|||
public String homeContent(boolean filter) {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
List<Class> classes = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl, getHeaders()));
|
||||
for (Element element : doc.select("ul.nav > li > a")) {
|
||||
String href = element.attr("href");
|
||||
if (href.split("/").length < 5) continue;
|
||||
|
|
@ -65,7 +65,7 @@ public class Supjav extends Spider {
|
|||
@Override
|
||||
public String categoryContent(String tid, String pg, boolean filter, HashMap<String, String> extend) {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl + tid + "/page/" + pg, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl + tid + "/page/" + pg, getHeaders()));
|
||||
for (Element element : doc.select("div.post")) {
|
||||
String pic = element.select("img").attr("data-original");
|
||||
String url = element.select("a").attr("href");
|
||||
|
|
@ -78,7 +78,7 @@ public class Supjav extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl.concat(ids.get(0)), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat(ids.get(0)), getHeaders()));
|
||||
String name = doc.select("div.post-meta > img").attr("alt");
|
||||
String img = doc.select("div.post-meta > img").attr("src");
|
||||
String type = doc.select("p.cat > a").text();
|
||||
|
|
@ -119,7 +119,7 @@ public class Supjav extends Spider {
|
|||
@Override
|
||||
public String searchContent(String key, boolean quick) {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(siteUrl.concat("?s=").concat(URLEncoder.encode(key)), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat("?s=").concat(URLEncoder.encode(key)), getHeaders()));
|
||||
for (Element element : doc.select("div.post")) {
|
||||
String pic = element.select("img").attr("data-original");
|
||||
String url = element.select("a").attr("href");
|
||||
|
|
@ -133,8 +133,8 @@ public class Supjav extends Spider {
|
|||
@Override
|
||||
public String playerContent(String flag, String id, List<String> vipFlags) {
|
||||
Map<String, List<String>> respHeaders = new HashMap<>();
|
||||
OkHttpUtil.stringNoRedirect(playUrl + "supjav.php?c=" + new StringBuilder(id).reverse(), getHeaders(playUrl), respHeaders);
|
||||
String redirect = OkHttpUtil.getRedirectLocation(respHeaders);
|
||||
OkHttp.stringNoRedirect(playUrl + "supjav.php?c=" + new StringBuilder(id).reverse(), getHeaders(playUrl), respHeaders);
|
||||
String redirect = OkHttp.getRedirectLocation(respHeaders);
|
||||
switch (flag) {
|
||||
case "TV":
|
||||
return parseTV(redirect);
|
||||
|
|
@ -148,20 +148,20 @@ public class Supjav extends Spider {
|
|||
}
|
||||
|
||||
private String parseTV(String redirect) {
|
||||
String data = OkHttpUtil.string(redirect, getHeaders(playUrl));
|
||||
String data = OkHttp.string(redirect, getHeaders(playUrl));
|
||||
return Result.get().url(Misc.getVar(data, "urlPlay")).header(getHeaders(redirect)).string();
|
||||
}
|
||||
|
||||
private String parseST(String redirect) {
|
||||
Map<String, List<String>> respHeaders = new HashMap<>();
|
||||
String data = OkHttpUtil.string(redirect, getHeaders(playUrl));
|
||||
String data = OkHttp.string(redirect, getHeaders(playUrl));
|
||||
String robot = Jsoup.parse(data).getElementById("robotlink").text();
|
||||
robot = robot.substring(0, robot.indexOf("&token=") + 7);
|
||||
for (String text : data.split("&token=")) {
|
||||
if (!text.contains("').substring(")) continue;
|
||||
robot = "https:/" + robot + text.split("'")[0] + "&stream=1";
|
||||
OkHttpUtil.stringNoRedirect(robot, getHeaders(redirect), respHeaders);
|
||||
String url = OkHttpUtil.getRedirectLocation(respHeaders);
|
||||
OkHttp.stringNoRedirect(robot, getHeaders(redirect), respHeaders);
|
||||
String url = OkHttp.getRedirectLocation(respHeaders);
|
||||
return Result.get().url(url).header(getHeaders(redirect)).string();
|
||||
}
|
||||
return "";
|
||||
|
|
@ -170,13 +170,13 @@ public class Supjav extends Spider {
|
|||
private String parseDS(String redirect) {
|
||||
String host = "https://" + Uri.parse(redirect).getHost();
|
||||
Map<String, List<String>> respHeaders = new HashMap<>();
|
||||
OkHttpUtil.stringNoRedirect(redirect, getHeaders(playUrl), respHeaders);
|
||||
redirect = host + OkHttpUtil.getRedirectLocation(respHeaders);
|
||||
String data = OkHttpUtil.string(redirect, getHeaders());
|
||||
OkHttp.stringNoRedirect(redirect, getHeaders(playUrl), respHeaders);
|
||||
redirect = host + OkHttp.getRedirectLocation(respHeaders);
|
||||
String data = OkHttp.string(redirect, getHeaders());
|
||||
for (String text : data.split("'")) {
|
||||
if (!text.startsWith("/pass_md5/")) continue;
|
||||
String token = text.split("/")[3];
|
||||
String url = OkHttpUtil.string(host + text, getHeaders(redirect));
|
||||
String url = OkHttp.string(host + text, getHeaders(redirect));
|
||||
url = url + getDSRnd() + "?token=" + token + "&expiry=" + System.currentTimeMillis();
|
||||
return Result.get().url(url).header(getHeaders(redirect)).string();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.github.catvod.bean.Vod;
|
|||
import com.github.catvod.bean.upyun.Data;
|
||||
import com.github.catvod.bean.upyun.Item;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
|
|
@ -44,7 +44,7 @@ public class UpYun extends Spider {
|
|||
@Override
|
||||
public String searchContent(String key, boolean quick) {
|
||||
String url = apiUrl + "search?keyword=" + URLEncoder.encode(key) + "&page=1&s_type=2";
|
||||
String res = new String(Base64.decode(OkHttpUtil.string(url, getHeaders()), Base64.DEFAULT));
|
||||
String res = new String(Base64.decode(OkHttp.string(url, getHeaders()), Base64.DEFAULT));
|
||||
List<Vod> list = new ArrayList<>();
|
||||
for (Item item : Data.objectFrom(res).getResult().getItems()) if (item.isAli()) list.add(item.getVod());
|
||||
return Result.string(list);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.github.catvod.bean.Result;
|
|||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.crawler.SpiderDebug;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Trans;
|
||||
import com.github.catvod.xpath.XPathRule;
|
||||
|
|
@ -37,7 +37,7 @@ public class XPath extends Spider {
|
|||
|
||||
private void fetchRule(String ext) {
|
||||
if (ext.startsWith("http")) {
|
||||
String json = OkHttpUtil.string(ext);
|
||||
String json = OkHttp.string(ext);
|
||||
rule = XPathRule.fromJson(json);
|
||||
loadRuleExt(json);
|
||||
} else {
|
||||
|
|
@ -325,6 +325,6 @@ public class XPath extends Spider {
|
|||
|
||||
protected String fetch(String webUrl) {
|
||||
SpiderDebug.log(webUrl);
|
||||
return OkHttpUtil.string(webUrl, getHeaders());
|
||||
return OkHttp.string(webUrl, getHeaders());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.github.catvod.bean.Filter;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Trans;
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ public class Ying extends Spider {
|
|||
List<Class> classes = new ArrayList<>();
|
||||
List<Filter> array = new ArrayList<>();
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
Document doc1 = Jsoup.parse(OkHttpUtil.string(filterUrl, getHeaders()));
|
||||
Document doc1 = Jsoup.parse(OkHttp.string(filterUrl, getHeaders()));
|
||||
String[] split = doc1.text().split("_labels = ");
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
if (split[i].startsWith("[")) {
|
||||
|
|
@ -71,7 +71,7 @@ public class Ying extends Spider {
|
|||
}
|
||||
}
|
||||
for (Class type : classes) filters.put(type.getTypeId(), array);
|
||||
Document doc2 = Jsoup.parse(OkHttpUtil.string(listUrl, getHeaders()));
|
||||
Document doc2 = Jsoup.parse(OkHttp.string(listUrl, getHeaders()));
|
||||
for (Element element : doc2.select("div.lpic > ul > li")) {
|
||||
String id = element.select("a").attr("href").split("/")[2];
|
||||
String name = element.select("h2").text();
|
||||
|
|
@ -97,7 +97,7 @@ public class Ying extends Spider {
|
|||
checkExtend(sb, extend, "label");
|
||||
checkExtend(sb, extend, "resource");
|
||||
checkExtend(sb, extend, "order");
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(listUrl.concat(sb.toString()), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(listUrl.concat(sb.toString()), getHeaders()));
|
||||
for (Element element : doc.select("div.lpic > ul > li")) {
|
||||
String id = element.select("a").attr("href").split("/")[2];
|
||||
String name = element.select("h2").text();
|
||||
|
|
@ -111,7 +111,7 @@ public class Ying extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(showUrl.concat(ids.get(0)), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(showUrl.concat(ids.get(0)), getHeaders()));
|
||||
String name = doc.select("div.rate > h1").text();
|
||||
String pic = "https:".concat(doc.select("div.thumb > img").attr("src"));
|
||||
String content = doc.select("div.info").text();
|
||||
|
|
@ -153,7 +153,7 @@ public class Ying extends Spider {
|
|||
public String searchContent(String key, boolean quick) {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
String target = siteUrl + "/s_all?ex=1&kw=" + URLEncoder.encode(key);
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
for (Element element : doc.select("div.lpic > ul > li")) {
|
||||
String id = element.select("a").attr("href").split("/")[2];
|
||||
String name = element.select("h2").text();
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import com.github.catvod.bean.Filter;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
import com.github.catvod.utils.Trans;
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ public class Ysj extends Spider {
|
|||
List<Class> classes = new ArrayList<>();
|
||||
List<Filter> array = new ArrayList<>();
|
||||
LinkedHashMap<String, List<Filter>> filters = new LinkedHashMap<>();
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(homeUrl, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(homeUrl, getHeaders()));
|
||||
array.add(getFilter("地區", "area", doc.select("div#hl03").select("a").eachText()));
|
||||
array.add(getFilter("年份", "year", doc.select("div#hl04").select("a").eachText()));
|
||||
array.add(getFilter("語言", "lang", doc.select("div#hl05").select("a").eachText()));
|
||||
|
|
@ -85,7 +85,7 @@ public class Ysj extends Spider {
|
|||
if (extend.containsKey("year")) sb.append("/year/").append(extend.get("year"));
|
||||
if (!pg.equals("1")) sb.append("/page/").append(pg);
|
||||
sb.append(".html");
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(sb.toString(), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(sb.toString(), getHeaders()));
|
||||
List<Vod> list = new ArrayList<>();
|
||||
for (Element element : doc.select("li.vodlist_item")) {
|
||||
String id = element.select("a").attr("href").split("/")[5];
|
||||
|
|
@ -99,7 +99,7 @@ public class Ysj extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) {
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(detailUrl.concat(ids.get(0)), getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(detailUrl.concat(ids.get(0)), getHeaders()));
|
||||
String name = doc.select("h2.title").text();
|
||||
String pic = siteUrl + doc.select("a.vodlist_thumb").attr("data-original");
|
||||
String year = doc.select("li.data").get(0).select("a").get(0).text();
|
||||
|
|
@ -148,7 +148,7 @@ public class Ysj extends Spider {
|
|||
public String searchContent(String key, boolean quick) {
|
||||
List<Vod> list = new ArrayList<>();
|
||||
String target = searchUrl.concat("?wd=").concat(key).concat("&submit=");
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(target, getHeaders()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(target, getHeaders()));
|
||||
if (doc.html().contains("很抱歉,暂无相关视频")) return Result.string(list);
|
||||
for (Element element : doc.select("li.searchlist_item")) {
|
||||
String id = element.select("a").attr("href").split("/")[5];
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import android.content.Context;
|
|||
import com.github.catvod.bean.Result;
|
||||
import com.github.catvod.bean.Vod;
|
||||
import com.github.catvod.crawler.Spider;
|
||||
import com.github.catvod.net.OkHttpUtil;
|
||||
import com.github.catvod.net.OkHttp;
|
||||
import com.github.catvod.utils.Misc;
|
||||
|
||||
import org.jsoup.Jsoup;
|
||||
|
|
@ -44,7 +44,7 @@ public class Zhaozy extends Spider {
|
|||
headers.put("Referer", siteUrl + "login.html");
|
||||
headers.put("Origin", siteUrl);
|
||||
Map<String, List<String>> resp = new HashMap<>();
|
||||
OkHttpUtil.post(siteUrl + "logiu.html", params, headers, resp);
|
||||
OkHttp.post(siteUrl + "logiu.html", params, headers, resp);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String item : resp.get("set-cookie")) sb.append(item.split(";")[0]).append(";");
|
||||
return sb.toString();
|
||||
|
|
@ -57,7 +57,7 @@ public class Zhaozy extends Spider {
|
|||
|
||||
@Override
|
||||
public String detailContent(List<String> ids) throws Exception {
|
||||
Matcher matcher = regexAli.matcher(OkHttpUtil.string(siteUrl + ids.get(0), getHeader()));
|
||||
Matcher matcher = regexAli.matcher(OkHttp.string(siteUrl + ids.get(0), getHeader()));
|
||||
if (!matcher.find()) return "";
|
||||
ids.set(0, matcher.group(1));
|
||||
return ali.detailContent(ids);
|
||||
|
|
@ -71,7 +71,7 @@ public class Zhaozy extends Spider {
|
|||
@Override
|
||||
public String searchContent(String key, boolean quick) throws Exception {
|
||||
String url = siteUrl + "so?filename=" + URLEncoder.encode(key);
|
||||
Document doc = Jsoup.parse(OkHttpUtil.string(url, getHeader()));
|
||||
Document doc = Jsoup.parse(OkHttp.string(url, getHeader()));
|
||||
List<Vod> list = new ArrayList<>();
|
||||
for (Element element : doc.select("div.li_con div.news_text")) {
|
||||
String href = element.select("div.news_text a").attr("href");
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
8329684ff36b27bdf5970adf458e8d1e
|
||||
e469b846313122745bf9d82fbc545353
|
||||
|
|
|
|||
Loading…
Reference in New Issue