diff --git a/app/src/main/java/com/github/catvod/api/QuarkApi.java b/app/src/main/java/com/github/catvod/api/QuarkApi.java index c3107ce3..d07d7925 100644 --- a/app/src/main/java/com/github/catvod/api/QuarkApi.java +++ b/app/src/main/java/com/github/catvod/api/QuarkApi.java @@ -50,7 +50,7 @@ public class QuarkApi { private boolean isVip = false; private final Cache cache; private ScheduledExecutorService service; - private Timer timer; + private AlertDialog dialog; private String serviceTicket; @@ -59,7 +59,7 @@ public class QuarkApi { String url = Util.base64Decode(params.get("url")); Map header = new Gson().fromJson(Util.base64Decode(params.get("header")), Map.class); if (header == null) header = new HashMap<>(); - List arr = List.of("Range","Accept", "Accept-Encoding", "Accept-Language", "Cookie", "Origin", "Referer", "Sec-Ch-Ua", "Sec-Ch-Ua-Mobile", "Sec-Ch-Ua-Platform", "Sec-Fetch-Dest", "Sec-Fetch-Mode", "Sec-Fetch-Site", "User-Agent"); + List arr = List.of("Range", "Accept", "Accept-Encoding", "Accept-Language", "Cookie", "Origin", "Referer", "Sec-Ch-Ua", "Sec-Ch-Ua-Mobile", "Sec-Ch-Ua-Platform", "Sec-Fetch-Dest", "Sec-Fetch-Mode", "Sec-Fetch-Site", "User-Agent"); for (String key : params.keySet()) { for (String s : arr) { if (s.toLowerCase().equals(key)) { @@ -115,10 +115,10 @@ public class QuarkApi { return QuarkApi.Loader.INSTANCE; } - public void setRefreshToken(String token) throws Exception { + public void setCookie(String token) throws Exception { if (StringUtils.isNoneBlank(token)) { this.cookie = token; - refreshAccessToken(); + initUserInfo(); } } @@ -226,7 +226,7 @@ public class QuarkApi { int leftRetry = retry != null ? retry : 3; if (StringUtils.isAllBlank(cookie)) { - this.refreshAccessToken(); + this.initUserInfo(); return api(url, params, data, leftRetry - 1, method); } OkResult okResult; @@ -255,18 +255,24 @@ public class QuarkApi { return okResult.getBody(); } - private void refreshAccessToken() { + private void initUserInfo() { try { - SpiderDebug.log("refreshCookie..."); + SpiderDebug.log("initUserInfo..."); + //extend没有cookie,从缓存中获取 if (StringUtils.isAllBlank(cookie)) { + SpiderDebug.log(" cookie from ext is empty..."); cookie = cache.getUser().getCookie(); } + //获取到cookie,初始化quark,并且把cookie缓存一次 if (StringUtils.isNoneBlank(cookie)) { + SpiderDebug.log(" initQuark ..."); initQuark(this.cookie); cache.setUser(User.objectFrom(this.cookie)); return; } + + //没有cookie,也没有serviceTicket,抛出异常,提示用户重新登录 if (StringUtils.isAllBlank(cookie) && StringUtils.isAllBlank(serviceTicket)) { SpiderDebug.log("cookie为空"); throw new RuntimeException("cookie为空"); @@ -675,13 +681,13 @@ public class QuarkApi { this.serviceTicket = value; SpiderDebug.log("ServiceTicket:" + value); Notify.show("ServiceTicket:" + value); - refreshAccessToken(); + initUserInfo(); stopService(); } private void stopService() { if (service != null) service.shutdownNow(); - if (timer != null) timer.cancel(); + Init.run(this::dismiss); } diff --git a/app/src/main/java/com/github/catvod/spider/Quark.java b/app/src/main/java/com/github/catvod/spider/Quark.java index 8af90fdf..019c6aed 100644 --- a/app/src/main/java/com/github/catvod/spider/Quark.java +++ b/app/src/main/java/com/github/catvod/spider/Quark.java @@ -2,7 +2,6 @@ package com.github.catvod.spider; import android.content.Context; import android.text.TextUtils; -import com.github.catvod.api.AliYun; import com.github.catvod.api.QuarkApi; import com.github.catvod.bean.Result; import com.github.catvod.bean.quark.ShareData; @@ -22,7 +21,7 @@ public class Quark extends Spider { @Override public void init(Context context, String extend) throws Exception { - QuarkApi.get().setRefreshToken(extend); + QuarkApi.get().setCookie(extend); } @Override diff --git a/app/src/main/java/com/github/catvod/spider/Wogg.java b/app/src/main/java/com/github/catvod/spider/Wogg.java index a5dce61f..be1405b1 100644 --- a/app/src/main/java/com/github/catvod/spider/Wogg.java +++ b/app/src/main/java/com/github/catvod/spider/Wogg.java @@ -104,8 +104,8 @@ public class Wogg extends Cloud { shareLinks.set(i, shareLinks.get(i).trim()); //String detailContent = super.detailContent(List.of(shareLinks.get(i))); } + item.setVodPlayUrl(super.detailContentVodPlayUrl(shareLinks)); item.setVodPlayFrom(super.detailContentVodPlayFrom(shareLinks)); - item.setVodPlayUrl(super.detailContentVodPlayUrl(shareLinks)); Elements elements = doc.select(".video-info-item"); for (Element e : elements) { @@ -137,7 +137,6 @@ public class Wogg extends Cloud { } - private String searchContent(String key, String pg) { String searchURL = siteUrl + String.format("/index.php/vodsearch/%s----------%s---.html", URLEncoder.encode(key), pg); String html = OkHttp.string(searchURL, getHeader()); diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 3191e999..51defca1 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 7c7303b0..8609fb0d 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -3a90fb07969b2c03758ecf46939d8b46 +2e49412e2661e5328d9407c41b84893b diff --git a/json/index.json b/json/index.json index 944c5d68..008fe49c 100644 --- a/json/index.json +++ b/json/index.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;3a90fb07969b2c03758ecf46939d8b46", + "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;2e49412e2661e5328d9407c41b84893b", "lives": [ { "name": "直播ipv6", diff --git a/json/index1.json b/json/index1.json index 14803e81..951bbc8f 100644 --- a/json/index1.json +++ b/json/index1.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;3a90fb07969b2c03758ecf46939d8b46", + "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;2e49412e2661e5328d9407c41b84893b", "lives": [ { "name": "直播ipv6", diff --git a/json/index2.json b/json/index2.json index 4addf79b..beca0316 100644 --- a/json/index2.json +++ b/json/index2.json @@ -1,5 +1,5 @@ { - "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;3a90fb07969b2c03758ecf46939d8b46", + "spider": "https://androidcatvodspider.pages.dev/jar/custom_spider.jar;md5;2e49412e2661e5328d9407c41b84893b", "lives": [ { "name": "直播ipv6",