diff --git a/app/src/main/java/com/github/catvod/spider/XPathBde4.java b/app/src/main/java/com/github/catvod/spider/XPathBde4.java deleted file mode 100644 index 799cd8d..0000000 --- a/app/src/main/java/com/github/catvod/spider/XPathBde4.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.github.catvod.spider; - -import android.util.Base64; - -import com.github.catvod.crawler.SpiderDebug; -import com.github.catvod.utils.okhttp.OKCallBack; -import com.github.catvod.utils.okhttp.OkHttpUtil; - -import org.json.JSONException; -import org.json.JSONObject; - -import java.io.IOException; -import java.net.URLEncoder; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import okhttp3.Call; -import okhttp3.Response; - -/** - * 需配合猫大的解密接口使用,没有接口不用尝试。 - */ - -public class XPathBde4 extends XPath { - - String tk = ""; - - @Override - protected void loadRuleExt(String json) { - try { - JSONObject jsonObj = new JSONObject(json); - tk = jsonObj.optString("decodeTk").trim(); - } catch (JSONException e) { - SpiderDebug.log(e); - } - } - - @Override - protected String categoryUrl(String tid, String pg, boolean filter, HashMap extend) { - String url = rule.getCateUrl().replace("{catePg}", pg); - String s = "all"; - if (extend != null) { - if (extend.containsKey("s")) { - s = extend.get("s"); - } - } - url = url.replace("{cateId}", s); - url += "?"; - if (extend != null && extend.size() > 0) { - for (Iterator it = extend.keySet().iterator(); it.hasNext(); ) { - String key = it.next(); - if (key.equals("s")) - continue; - String value = extend.get(key); - if (value.length() > 0) { - url += (key + "=" + URLEncoder.encode(value) + "&"); - } - } - } - if (!tid.equals("*")) { - url += ("type=" + tid); - } - return url; - } - - @Override - public String playerContent(String flag, String id, List vipFlags) { - try { - fetchRule(); - String webUrl = rule.getPlayUrl().isEmpty() ? id : rule.getPlayUrl().replace("{playUrl}", id); - SpiderDebug.log(webUrl); - String content = OkHttpUtil.string(webUrl, getHeaders(webUrl)); - String startFlag = "var m3u8 = \""; - int start = content.indexOf(startFlag); - start = start + startFlag.length(); - int end = content.indexOf("\";", start); - String m3u8 = content.substring(start, end).replace("\\", "").replace("https", "http"); - SpiderDebug.log(m3u8); - HashMap headers = getHeaders(m3u8); - - OKCallBack m3u8Callback = new OKCallBack() { - @Override - public String onParseResponse(Call call, Response response) { - try { - return new String(Base64.encode(response.body().bytes(), Base64.DEFAULT)); - } catch (IOException e) { - return ""; - } - } - - @Override - public void onFailure(Call call, Exception e) { - setResult(""); - SpiderDebug.log(e); - } - - @Override - public void onResponse(String response) { - } - }; - OkHttpUtil.get(OkHttpUtil.defaultClient(), m3u8, null, headers, m3u8Callback); - String m3u8Data = m3u8Callback.getResult(); - if (m3u8Data != null && !m3u8Data.isEmpty()) { - JSONObject result = new JSONObject(); - JSONObject json = new JSONObject(); - json.put("data", m3u8Data); - json.put("t", tk); - OkHttpUtil.postJson(OkHttpUtil.defaultClient(), "https://cat.idontcare.top/ssr/bde4", json.toString(), new OKCallBack.OKCallBackString() { - @Override - public void onFailure(Call call, Exception e) { - } - - @Override - public void onResponse(String response) { - try { - result.put("url", response); - } catch (JSONException e) { - } - } - }); - result.put("parse", 0); - result.put("playUrl", ""); - if (!rule.getPlayUa().isEmpty()) { - result.put("ua", rule.getPlayUa()); - } - return result.toString(); - - } - } catch (Exception e) { - SpiderDebug.log(e); - } - return ""; - } -}