diff --git a/app/src/main/java/com/github/catvod/api/TianYiHandler.java b/app/src/main/java/com/github/catvod/api/TianYiHandler.java index 4b165d3a..dfcaea13 100644 --- a/app/src/main/java/com/github/catvod/api/TianYiHandler.java +++ b/app/src/main/java/com/github/catvod/api/TianYiHandler.java @@ -55,19 +55,29 @@ public class TianYiHandler { cache = Cache.objectFrom(Path.read(getCache())); } - public void refreshCookie(String cookie) { - Map header = new HashMap<>(); - header.put("Cookie", cookie); + public void refreshCookie(String cookie) throws IOException { + getCookieMap(List.of(cookie.split(";"))); + this.cookie = mapToCookie(cookieMap); + String url = "https://cloud.189.cn/api/portal/loginUrl.action?redirectURL=https%3A%2F%2Fcloud.189.cn%2Fweb%2Fredirect.html&defaultSaveName=3&defaultSaeNameCheck=uncheck&browserId=dff95dced0b03d9d972d920f03ddd05e"; - OkResult okResult = OkHttp.get(url, new HashMap<>(), header); - SpiderDebug.log("refreshCookie:" + okResult.getBody()); - SpiderDebug.log("refreshCookie header:" + Json.toJson(okResult.getResp())); + String index = OkHttp.getLocation(url, Map.of("Cookie", this.cookie)); + SpiderDebug.log("index:" + index); + SpiderDebug.log("index red: " + index); + Map> resHeaderMap = OkHttp.getLocationHeader(index, Map.of("Cookie", this.cookie)); + + getCookieMap(resHeaderMap.get("Set-Cookie")); + this.cookie = mapToCookie(cookieMap); + indexUrl = resHeaderMap.get("Location").get(0); + SpiderDebug.log("indexUrl red: " + indexUrl); + Map> resHeaderMap2 = OkHttp.getLocationHeader(indexUrl, Map.of("Cookie", this.cookie)); + + /* SpiderDebug.log("refreshCookie header:" + Json.toJson(okResult.getResp())); if (okResult.getResp().containsKey("set-cookie")) { List cookieList = getCookieList(okResult.getResp().get("set-cookie")); cache.setTianyiUser(User.objectFrom(StringUtils.join(cookieList, ";"))); SpiderDebug.log("获取cookie成功:" + StringUtils.join(cookieList, ";")); - } + }*/ } public byte[] startScan() throws Exception { diff --git a/app/src/main/java/com/github/catvod/api/TianyiApi.java b/app/src/main/java/com/github/catvod/api/TianyiApi.java index 27cd9ec4..56765e57 100644 --- a/app/src/main/java/com/github/catvod/api/TianyiApi.java +++ b/app/src/main/java/com/github/catvod/api/TianyiApi.java @@ -293,7 +293,7 @@ public class TianyiApi { OkResult result = OkHttp.get("https://cloud.189.cn/api/portal/getUserSizeInfo.action", new HashMap<>(), getHeaders()); JsonObject res = Json.safeObject(result.getBody()); if (res.isEmpty() || (Objects.nonNull(res.get("errorCode")) && res.get("errorCode").getAsString().equals("InvalidSessionKey"))) { - tianYiHandler.refreshCookie(cookie); + tianYiHandler.startScan(); } return ""; diff --git a/app/src/test/java/com/github/catvod/api/TianyiApiTest.java b/app/src/test/java/com/github/catvod/api/TianyiApiTest.java index 7419fdfa..0c584b8a 100644 --- a/app/src/test/java/com/github/catvod/api/TianyiApiTest.java +++ b/app/src/test/java/com/github/catvod/api/TianyiApiTest.java @@ -38,7 +38,7 @@ public class TianyiApiTest { com.github.catvod.bean.tianyi.ShareData shareData1 = TianyiApi.get().getShareData("https://cloud.189.cn/web/share?code=qEVVjyqM7bY3(访问码:6iel)", ""); TianyiApi api = TianyiApi.get(); - api.setCookie("JSESSIONID=B35242EB04B3FBE672BED4B42F04D7E3;COOKIE_LOGIN_USER=B0A47E7C883DA2F0AFA9713E5D80E60955214A1445778CC40810306B68D7038FC568A6F20EAE2963519B17746FC9EB976F2317DE786E92E8CFCA5D36"); + api.setCookie("apm_ct=20250326080123000;OPENINFO=33c28688ef52ce9e3a9ef87388047efbde5e3e2e4c7ef6ef267632468c7dfaf294ff59fa59d34801;apm_sid=02F59AEE89AF29D6420BBD8408003B99;apm_key=317D96407B91CFC7EDA9010FA963CB06;pageOp=8b7ecdae02246019e5b5c07d5775e568;apm_uid=CD70AFED168CA30CF75CDBF983D237C2;LT=358459209f24f17e;GUID=a72822a1f8574d2c97b8392c067e835c;SSON=dc466c8192e3109eaea837c1d136c1fd065253ce1c7d3a66ca1520d7d6d6307b10a1fe65c7becac73b95f24a6e681e654ec4f47c39533ebcc48bb78d6d6e63d1bbf3334e6e97eaa7092d34f87bf1209e791a623d703df58b667c93cf9745938a396cfcc4e795bb687b7e16255f08379edd4f03e64b2002aa915c3157b008d54ed80b1ad57bf6b7405d23e0763077999425d511e0ccc0e07a952221985bf9903d10b9f21c4d6c175b5e9fb20721ef5b2926290dda57af27ff65ad5df045c8a824bebb4dcec0cd08a68edfc462d5bcd7a180b80b072ca61aa87dd0ebe3946397f94f0bc28d24a56958;JSESSIONID=58737554E5FEB36C9AF67050CE292E38;COOKIE_LOGIN_USER=92F4CEE641F1363A0EA09AC7FA6B61FDB6DD036333EFCD7F28818C64A94CFACC7C6186180FCEE7A6BD5E2A597347DBE58BA1C72D1493EE0847FD4F5A;apm_ua=45747CD36C19E71509E38183EB8AAB8D"); api.getVod(shareData1); diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 21a8cdba..754de2fb 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index de9944d1..a511788c 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -c528cb0f706f525c47bacc4b99265068 +e2f5426d4b70b9f4229e832857bffc6d diff --git a/json/index.json b/json/index.json index fcb07bce..743260b4 100644 --- a/json/index.json +++ b/json/index.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;c528cb0f706f525c47bacc4b99265068", + "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;e2f5426d4b70b9f4229e832857bffc6d", "lives": [ { "name": "电视直播", diff --git a/json/index1.json b/json/index1.json index aff2b97f..f8f4e4a3 100644 --- a/json/index1.json +++ b/json/index1.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;c528cb0f706f525c47bacc4b99265068", + "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;e2f5426d4b70b9f4229e832857bffc6d", "lives": [ { "name": "直播ipv6", diff --git a/json/index2.json b/json/index2.json index 3e485806..493334e5 100644 --- a/json/index2.json +++ b/json/index2.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;c528cb0f706f525c47bacc4b99265068", + "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;e2f5426d4b70b9f4229e832857bffc6d", "lives": [ { "name": "直播ipv6", diff --git a/json/test.json b/json/test.json index d047e97d..9e8dadb8 100644 --- a/json/test.json +++ b/json/test.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;c528cb0f706f525c47bacc4b99265068", + "spider": "https://androidcatvodspider.netlify.app/jar/custom_spider.jar;md5;e2f5426d4b70b9f4229e832857bffc6d", "lives": [ { "name": "直播",