webdav support range

This commit is contained in:
FongMi 2024-02-29 14:19:48 +08:00
parent 1fe356c982
commit 13856f272e
2 changed files with 11 additions and 7 deletions

View File

@ -506,12 +506,8 @@ public class AliYun {
}
Map<String, String> 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<String> 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)};
}

View File

@ -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<String, String> getHeaders(Map<String, String> params) {
Map<String, String> headers = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
List<String> 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;
}
}