diff --git a/app/src/main/java/com/github/catvod/api/AliYun.java b/app/src/main/java/com/github/catvod/api/AliYun.java index 0c5b03f2..d8066fc5 100644 --- a/app/src/main/java/com/github/catvod/api/AliYun.java +++ b/app/src/main/java/com/github/catvod/api/AliYun.java @@ -328,7 +328,7 @@ public class AliYun { public String getShareDownloadUrl(String shareId, String fileId) { try { - if (shareDownloadMap.containsKey(fileId) && shareDownloadMap.get(fileId) != null && !isExpire(shareDownloadMap.get(fileId))) return shareDownloadMap.get(fileId); + if (shareDownloadMap.containsKey(fileId) && shareDownloadMap.get(fileId) != null && !isExpire(shareDownloadMap.get(fileId), 600)) return shareDownloadMap.get(fileId); refreshShareToken(shareId); SpiderDebug.log("getShareDownloadUrl..." + fileId); JsonObject param = new JsonObject(); @@ -347,7 +347,7 @@ public class AliYun { public String getDownloadUrl(String shareId, String fileId) { try { - if (downloadMap.containsKey(fileId) && downloadMap.get(fileId) != null && !isExpire(downloadMap.get(fileId))) return downloadMap.get(fileId); + if (downloadMap.containsKey(fileId) && downloadMap.get(fileId) != null && !isExpire(downloadMap.get(fileId), 900)) return downloadMap.get(fileId); refreshShareToken(shareId); SpiderDebug.log("getDownloadUrl..." + fileId); tempIds.add(0, copy(shareId, fileId)); @@ -460,10 +460,10 @@ public class AliYun { return String.format(Proxy.getUrl() + "?do=ali&type=video&cate=%s&shareId=%s&fileId=%s&templateId=%s&mediaId=%s", cate, shareId, fileId, templateId, mediaId); } - private static boolean isExpire(String url) { + private static boolean isExpire(String url, int time) { String expires = new UrlQuerySanitizer(url).getValue("x-oss-expires"); if (TextUtils.isEmpty(expires)) return false; - return Long.parseLong(expires) - getTimeStamp() <= 15; + return Long.parseLong(expires) - getTimeStamp() <= time / 60; } private static long getTimeStamp() { @@ -492,7 +492,7 @@ public class AliYun { } else if ("m3u8".equals(cate)) { lock.lock(); String mediaUrl = m3u8MediaMap.get(fileId).get(mediaId); - if (isExpire(mediaUrl)) { + if (isExpire(mediaUrl, 900)) { getM3u8(shareId, fileId, templateId); mediaUrl = m3u8MediaMap.get(fileId).get(mediaId); } diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index ae5181aa..8c9cfae1 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 037efca6..e9f24f10 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -d363d6ddea1cbc73ce7addcae613605e +e19f98c566e2280e961ce054f9367808