diff --git a/app/src/main/java/com/github/catvod/spider/Supjav.java b/app/src/main/java/com/github/catvod/spider/Supjav.java index dc980660..573d68a5 100644 --- a/app/src/main/java/com/github/catvod/spider/Supjav.java +++ b/app/src/main/java/com/github/catvod/spider/Supjav.java @@ -16,7 +16,9 @@ import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.*; +import java.nio.charset.Charset; import java.util.*; public class Supjav extends Spider { @@ -30,10 +32,9 @@ public class Supjav extends Spider { private HashMap getHeaders(String referer) { HashMap headers = new HashMap<>(); - headers.put("Referer", referer); - headers.put("User-Agent", "PostmanRuntime/7.36.3"); + headers.put("Referer", "https://supjav.com/"); headers.put("Host", "supjav.com"); - headers.put("Postman-Token", "33290483-3c8d-413f-a160-0d3aea9e6f95"); + headers.put("User-Agent", Util.CHROME); return headers; } @@ -115,7 +116,7 @@ public class Supjav extends Spider { String sourceUrl = source.attr("data-link"); sites.put(sourceName, "播放" + "$" + sourceUrl); } - if (sites.size() > 0) { + if (!sites.isEmpty()) { vod.setVodPlayFrom(StringUtils.join(sites.keySet(), "$$$")); vod.setVodPlayUrl(StringUtils.join(sites.values(), "$$$")); } @@ -123,9 +124,9 @@ public class Supjav extends Spider { } @Override - public String searchContent(String key, boolean quick) { + public String searchContent(String key, boolean quick) throws UnsupportedEncodingException { List list = new ArrayList<>(); - Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat("?s=").concat(URLEncoder.encode(key)), getHeaders())); + Document doc = Jsoup.parse(OkHttp.string(siteUrl.concat("?s=").concat(URLEncoder.encode(key, "UTF-8")), getHeaders())); for (Element element : doc.select("div.post")) { String pic = element.select("img").attr("data-original"); String url = element.select("a").attr("href"); @@ -138,7 +139,7 @@ public class Supjav extends Spider { @Override public String playerContent(String flag, String id, List vipFlags) throws URISyntaxException, IOException { - String redirect = OkHttp.getLocation(playUrl + "supjav.php?c=" + new StringBuilder(id).reverse(), getTVVideoHeaders(playUrl + "supjav.php?l=" + new StringBuilder(id) + "&bg=undefined")); + String redirect = OkHttp.getLocation(playUrl + "supjav.php?c=" + new StringBuilder(id).reverse(), getTVVideoHeaders(playUrl + "supjav.php?l=" + id + "&bg=undefined")); switch (flag) { case "TV": return parseTV(redirect); @@ -155,12 +156,14 @@ public class Supjav extends Spider { private String parseVOE(String redirect) { String data = OkHttp.string(redirect, getTVVideoHeaders(playUrl)); - return Result.get().url(Util.findByRegex("prompt\\(\"Node\",(.*?)\\);", data,1).trim().replace("\"", "")).header(getHeaders(redirect)).string(); + redirect = Util.findByRegex("window.location.href = '(.*?)';", data, 1); + data = OkHttp.string(redirect, getTVVideoHeaders(playUrl)); + return Result.get().url(Util.findByRegex("prompt\\(\"Node\",(.*?)\\);", data, 1).trim().replace("\"", "")).header(getHeaders(redirect)).string(); } private String parseFST(String redirect) { String data = OkHttp.string(redirect, getTVVideoHeaders(playUrl)); - return Result.get().url(Util.findByRegex("file:\"(.*?)\"}]", data,1)).header(getHeaders(redirect)).string(); + return Result.get().url(Util.findByRegex("file:\"(.*?)\"}]", data, 1)).header(getHeaders(redirect)).string(); } private String parseTV(String redirect) throws MalformedURLException { diff --git a/app/src/test/java/SupjavTest.java b/app/src/test/java/SupjavTest.java index 07b65b28..032b126a 100644 --- a/app/src/test/java/SupjavTest.java +++ b/app/src/test/java/SupjavTest.java @@ -88,7 +88,7 @@ public class SupjavTest { @org.junit.Test public void searchContent() throws Exception { - String content = spider.searchContent("红海", false); + String content = spider.searchContent("fc", false); JsonObject map = Json.safeObject(content); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println("searchContent--" + gson.toJson(map)); diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 9795d51b..059d51da 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 419f2bb4..3ca9adcd 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -41b2741c6a0b6f61507e3e82dd50f545 +7131034d727440171f5070e0e32b2464 diff --git a/json/index.json b/json/index.json index 819bf1ad..8fdc636c 100644 --- a/json/index.json +++ b/json/index.json @@ -1,5 +1,5 @@ { - "spider": "../jar/custom_spider.jar;md5;41b2741c6a0b6f61507e3e82dd50f545", + "spider": "../jar/custom_spider.jar;md5;7131034d727440171f5070e0e32b2464", "lives": [ { "name": "直播ipv6", diff --git a/json/index1.json b/json/index1.json index 26ceaadd..6ac13ee1 100644 --- a/json/index1.json +++ b/json/index1.json @@ -1,5 +1,5 @@ { - "spider": "../jar/custom_spider.jar;md5;41b2741c6a0b6f61507e3e82dd50f545", + "spider": "../jar/custom_spider.jar;md5;7131034d727440171f5070e0e32b2464", "lives": [ { "name": "直播ipv6",