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 e0497f55..829c13a0 100644 --- a/app/src/main/java/com/github/catvod/api/AliYun.java +++ b/app/src/main/java/com/github/catvod/api/AliYun.java @@ -506,12 +506,8 @@ public class AliYun { } Map headers = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); - for (String key : params.keySet()) { - if (key.equals("referer") || key.equals("icy-metadata") || key.equals("range") || key.equals("connection") || key.equals("accept-encoding") || key.equals("user-agent")) { - headers.put(key, params.get(key)); - } - } - + List keys = Arrays.asList("referer", "icy-metadata", "range", "connection", "accept-encoding", "user-agent"); + for (String key : params.keySet()) if (keys.contains(key)) headers.put(key, params.get(key)); return new Object[]{ProxyVideo.proxy(downloadUrl, headers)}; } diff --git a/app/src/main/java/com/github/catvod/spider/WebDAV.java b/app/src/main/java/com/github/catvod/spider/WebDAV.java index 5eacb187..e5767290 100644 --- a/app/src/main/java/com/github/catvod/spider/WebDAV.java +++ b/app/src/main/java/com/github/catvod/spider/WebDAV.java @@ -24,6 +24,7 @@ import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.TreeMap; public class WebDAV extends Spider { @@ -185,7 +186,14 @@ public class WebDAV extends Spider { Object[] result = new Object[3]; result[0] = 200; result[1] = "application/octet-stream"; - result[2] = drive.getWebdav().get(drive.getHost() + url); + result[2] = drive.getWebdav().get(drive.getHost() + url, getHeaders(params)); return result; } + + private static Map getHeaders(Map params) { + Map headers = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + List keys = Arrays.asList("referer", "icy-metadata", "range", "connection", "accept-encoding", "user-agent"); + for (String key : params.keySet()) if (keys.contains(key)) headers.put(key, params.get(key)); + return headers; + } }