Fix Uvod
This commit is contained in:
parent
7cf5c75b4f
commit
f9bd3047b5
|
|
@ -152,17 +152,12 @@ public class Data {
|
||||||
return TextUtils.isEmpty(symbol) ? "" : symbol;
|
return TextUtils.isEmpty(symbol) ? "" : symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMaxQuality() {
|
public List<Integer> getQualities() {
|
||||||
List<Integer> fixedArray = Arrays.asList(4, 3, 2, 1);
|
if (qualities == null || qualities.isEmpty()) {
|
||||||
int maxQuality = -1;
|
return Collections.emptyList();
|
||||||
for (int quality : qualities) {
|
|
||||||
if (fixedArray.contains(quality)) {
|
|
||||||
if (quality > maxQuality) {
|
|
||||||
maxQuality = quality;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return maxQuality;
|
Collections.sort(qualities, Collections.reverseOrder());
|
||||||
|
return qualities;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -139,12 +139,14 @@ public class Uvod extends Spider {
|
||||||
Data data = Data.objectFrom(decryptData);
|
Data data = Data.objectFrom(decryptData);
|
||||||
StringBuilder vod_play_url = new StringBuilder();
|
StringBuilder vod_play_url = new StringBuilder();
|
||||||
List<Data.VideoFragmentList> videoFragmentList = data.getVideoFragmentList();
|
List<Data.VideoFragmentList> videoFragmentList = data.getVideoFragmentList();
|
||||||
|
List<Integer> acceptQuality = new ArrayList<>();
|
||||||
for (int j = 0; j < videoFragmentList.size(); j++) {
|
for (int j = 0; j < videoFragmentList.size(); j++) {
|
||||||
Data.VideoFragmentList videolist = videoFragmentList.get(j);
|
Data.VideoFragmentList videolist = videoFragmentList.get(j);
|
||||||
String name = videolist.getSymbol();
|
String name = videolist.getSymbol();
|
||||||
String nid = videolist.getId();
|
String nid = videolist.getId();
|
||||||
String quality = String.valueOf(videolist.getMaxQuality());
|
List<Integer> Qualities = videolist.getQualities();
|
||||||
nid = ids.get(0) + "|" + nid + "|" + quality;
|
nid = ids.get(0) + "|" + nid + "|" + Qualities;
|
||||||
|
|
||||||
vod_play_url.append(name).append("$").append(nid);
|
vod_play_url.append(name).append("$").append(nid);
|
||||||
boolean notLastEpisode = j < videoFragmentList.size() - 1;
|
boolean notLastEpisode = j < videoFragmentList.size() - 1;
|
||||||
vod_play_url.append(notLastEpisode ? "#" : "$$$");
|
vod_play_url.append(notLastEpisode ? "#" : "$$$");
|
||||||
|
|
@ -183,14 +185,32 @@ public class Uvod extends Spider {
|
||||||
String[] item = id.split("\\|");
|
String[] item = id.split("\\|");
|
||||||
String tid = item[0];
|
String tid = item[0];
|
||||||
String nid = item[1];
|
String nid = item[1];
|
||||||
String quality = item[2];
|
String[] quality = item[2].replaceAll("[\\[\\]]", "").split(",");
|
||||||
String param = String.format("{\"video_id\":\"%s\",\"video_fragment_id\":%s,\"quality\":%s,\"seek\":null}", tid, nid, quality);
|
List<String> url = new ArrayList<>();
|
||||||
String encryptData = encrypt(param);
|
for (int i = 0; i < quality.length; i++) {
|
||||||
String content = OkHttp.post(play, encryptData, getHeader(play + "|" + tid + "|" + nid + "|" + quality)).getBody();
|
String qualityValue = quality[i].trim();
|
||||||
String decryptData = decrypt(content);
|
switch (qualityValue) {
|
||||||
Data data = Data.objectFrom(decryptData);
|
case "4":
|
||||||
Data.Video video = data.getVideo();
|
url.add("1080p");
|
||||||
String realUrl = video.getUrl();
|
break;
|
||||||
return Result.get().url(realUrl).header(playHeader()).string();
|
case "3":
|
||||||
|
url.add("720p");
|
||||||
|
break;
|
||||||
|
case "1":
|
||||||
|
url.add("360p");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
url.add(qualityValue);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
String param = String.format("{\"video_id\":\"%s\",\"video_fragment_id\":%s,\"quality\":%s,\"seek\":null}", tid, nid, quality[i].trim());
|
||||||
|
String encryptData = encrypt(param);
|
||||||
|
String content = OkHttp.post(play, encryptData, getHeader(play + "|" + tid + "|" + nid + "|" + quality[i].trim())).getBody();
|
||||||
|
String decryptData = decrypt(content);
|
||||||
|
Data data = Data.objectFrom(decryptData);
|
||||||
|
Data.Video video = data.getVideo();
|
||||||
|
url.add(video.getUrl());
|
||||||
|
}
|
||||||
|
return Result.get().url(url).header(playHeader()).string();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
|
@ -1 +1 @@
|
||||||
9a95efb77b23f6b64d96d25948fd55fb
|
f07fdfd86e4a8eb8198f9b2539c015d1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue