pull/89/head
qlql765 12 months ago
parent b5774a4768
commit 7cf5c75b4f
  1. 17
      app/src/main/java/com/github/catvod/bean/uvod/Data.java
  2. 11
      app/src/main/java/com/github/catvod/spider/Uvod.java
  3. BIN
      jar/custom_spider.jar
  4. 2
      jar/custom_spider.jar.md5

@ -8,6 +8,7 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.annotations.SerializedName;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -140,6 +141,8 @@ public class Data {
private String id;
@SerializedName("symbol")
private String symbol;
@SerializedName("qualities")
private List<Integer> qualities;
public String getId() {
return TextUtils.isEmpty(id) ? "" : id;
@ -148,5 +151,19 @@ public class Data {
public String getSymbol() {
return TextUtils.isEmpty(symbol) ? "" : symbol;
}
public int getMaxQuality() {
List<Integer> fixedArray = Arrays.asList(4, 3, 2, 1);
int maxQuality = -1;
for (int quality : qualities) {
if (fixedArray.contains(quality)) {
if (quality > maxQuality) {
maxQuality = quality;
}
}
}
return maxQuality;
}
}
}

@ -37,6 +37,7 @@ public class Uvod extends Spider {
String URL = item[0];
String tid = item.length > 1 ? item[1] : "";
String pg = item.length > 2 ? item[2] : "";
String quality = item.length > 3 ? item[3] : "";
String hm = String.valueOf(System.currentTimeMillis());
String text = "";
if (URL.equals(latest)) {
@ -50,7 +51,7 @@ public class Uvod extends Spider {
} else if (URL.equals(detail)) {
text = String.format("-id=%s-%s", tid, hm);
} else if (URL.equals(play)) {
text = String.format("-quality=4&video_fragment_id=%s&video_id=%s-%s", pg, tid, hm);
text = String.format("-quality=%s&video_fragment_id=%s&video_id=%s-%s", quality, pg, tid, hm);
}
String sign = Util.MD5(text);
Map<String, String> header = new HashMap<>();
@ -142,7 +143,8 @@ public class Uvod extends Spider {
Data.VideoFragmentList videolist = videoFragmentList.get(j);
String name = videolist.getSymbol();
String nid = videolist.getId();
nid = ids.get(0) + "|" + nid;
String quality = String.valueOf(videolist.getMaxQuality());
nid = ids.get(0) + "|" + nid + "|" + quality;
vod_play_url.append(name).append("$").append(nid);
boolean notLastEpisode = j < videoFragmentList.size() - 1;
vod_play_url.append(notLastEpisode ? "#" : "$$$");
@ -181,9 +183,10 @@ public class Uvod extends Spider {
String[] item = id.split("\\|");
String tid = item[0];
String nid = item[1];
String param = String.format("{\"video_id\":\"%s\",\"video_fragment_id\":%s,\"quality\":4,\"seek\":null}", tid, nid);
String quality = item[2];
String param = String.format("{\"video_id\":\"%s\",\"video_fragment_id\":%s,\"quality\":%s,\"seek\":null}", tid, nid, quality);
String encryptData = encrypt(param);
String content = OkHttp.post(play, encryptData, getHeader(play + "|" + tid + "|" + nid)).getBody();
String content = OkHttp.post(play, encryptData, getHeader(play + "|" + tid + "|" + nid + "|" + quality)).getBody();
String decryptData = decrypt(content);
Data data = Data.objectFrom(decryptData);
Data.Video video = data.getVideo();

Binary file not shown.

@ -1 +1 @@
326f3af6d449e9cf1ad021d925b58887
9a95efb77b23f6b64d96d25948fd55fb

Loading…
Cancel
Save