From edd0f27ee322209783ee1f5d7b4e53b5899c4511 Mon Sep 17 00:00:00 2001 From: lushunming <1357197829@qq.com> Date: Tue, 5 Nov 2024 16:20:12 +0800 Subject: [PATCH] uc bug --- app/src/main/java/com/github/catvod/api/UCApi.java | 7 +++++-- app/src/main/java/com/github/catvod/utils/ProxyVideo.java | 8 ++------ app/src/test/java/WoggTest.java | 6 +++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/github/catvod/api/UCApi.java b/app/src/main/java/com/github/catvod/api/UCApi.java index aed2ff41..b8e37471 100644 --- a/app/src/main/java/com/github/catvod/api/UCApi.java +++ b/app/src/main/java/com/github/catvod/api/UCApi.java @@ -31,6 +31,7 @@ import org.apache.commons.lang3.StringUtils; import java.io.ByteArrayInputStream; import java.io.File; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.*; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; @@ -105,13 +106,15 @@ public class UCApi { listM3u8.add(thisOne); } String m3u8Str = TextUtils.join("\n", listM3u8); - String contentType = result.getResp().get("Content-Type").get(0); + String contentType = result.getResp().get("Content-Type").get(0); Map respHeaders = new HashMap<>(); + // respHeaders.put("Access-Control-Allow-Origin","*"); + // respHeaders.put("Access-Control-Allow-Credentials","true"); for (String key : result.getResp().keySet()) { respHeaders.put(key, result.getResp().get(key).get(0)); } - return new Object[]{result.getCode(), contentType, new ByteArrayInputStream(m3u8Str.getBytes(Charset.forName("UTF-8"))), respHeaders}; + return new Object[]{result.getCode(), contentType, new ByteArrayInputStream(m3u8Str.getBytes(Charset.defaultCharset())), respHeaders}; } private static class Loader { diff --git a/app/src/main/java/com/github/catvod/utils/ProxyVideo.java b/app/src/main/java/com/github/catvod/utils/ProxyVideo.java index ee939af8..af4b372f 100644 --- a/app/src/main/java/com/github/catvod/utils/ProxyVideo.java +++ b/app/src/main/java/com/github/catvod/utils/ProxyVideo.java @@ -2,13 +2,11 @@ package com.github.catvod.utils; import android.os.SystemClock; import android.text.TextUtils; -import android.util.Base64; - import com.github.catvod.crawler.SpiderDebug; import com.github.catvod.net.OkHttp; import com.github.catvod.spider.Proxy; import com.google.gson.Gson; - +import okhttp3.Response; import org.json.JSONObject; import java.net.URLEncoder; @@ -17,8 +15,6 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import okhttp3.Response; - public class ProxyVideo { private static final String GO_SERVER = "http://127.0.0.1:7777/"; @@ -71,7 +67,7 @@ public class ProxyVideo { SpiderDebug.log("++proxy res contentType:" + contentType); // SpiderDebug.log("++proxy res body:" + response.body()); SpiderDebug.log("++proxy res respHeaders:" + Json.toJson(respHeaders)); - return new Object[]{206, contentType, response.body().byteStream(), respHeaders}; + return new Object[]{response.code(), contentType, response.body().byteStream(), respHeaders}; } private static String getMimeType(String contentDisposition) { diff --git a/app/src/test/java/WoggTest.java b/app/src/test/java/WoggTest.java index a8741851..ee9ad9ea 100644 --- a/app/src/test/java/WoggTest.java +++ b/app/src/test/java/WoggTest.java @@ -28,7 +28,7 @@ public class WoggTest { spider = new Wogg(); Server.get().start(); // spider.init(mockContext, "{\"cookie\":\"b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; _UP_A4A_11_=wb9661c6dfb642f88f73d8e0c7edd398; b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; ctoken=wla6p3EUOLyn1FSB8IKp1SEW; grey-id=5583e32b-39df-4bf0-f39f-1adf83f604a2; grey-id.sig=p8ReBIMG2BeZu1sYvsuOAZxYbx-MVrsfKEiCv87MsTM; isQuark=true; isQuark.sig=hUgqObykqFom5Y09bll94T1sS9abT1X-4Df_lzgl8nM; _UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6KmBtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj44KlE5biSNDOWW7Bigcz27lvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57k4mfPmDlCgpZKzxwl6beSfdtZ4RUWXmZOn5v5NkxVKhU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW; _UP_D_=pc; __wpkreporterwid_=3d3f74a7-99b7-4916-3f78-911fc2eb9d87; tfstk=fIoZNxjnbhKwPOu0TWZ4LsaRqirTcudSSmNbnxD0C5VgClMm8xMyB-GsnSu4tjpOflAOmSD-9PNiGl120XrgkVNb1SrqHbJBN3tSBAEYoQOWVUUg9qZ8n1bGGkD3CqGYINKSBABhjnXgp3_Vywz6gSc0Syj3BWf0mr2DLW24eZfiiovEKWefj1q0swq3E82iNEMinMy7SLrcpA4Fh3z_ZAViCfih3PbtdW5N_DuU77AaTijmYRkL2Wq54ENoy5a7ZXxCbok33XzS7QSZgxD-oyoVsdGotql0p2dVu7umC4nLStbiLmParc4FELHrI-c0u2dPVRrs8zoZWKCnIbNZrlHfUCMUz2z8KyXVSlgSFmUojh58OzeqTzgwaGll4YCYKwctDV5coP2LL79eKHxpNTXHmre1kZU32JPWCR_AkP2LL79eLZQY-WeUNdw1.; __pus=2051c82285199d8be553be41dd5a2100AAQ+mmv35G4FDDZ5x+3Mhe2OMbNgweQ1ODbW8zDt9YuP1LQVqHUuAAz9KWLsPjpNtim0AVGHusN4MCosTmbq/khM; __kp=e6604120-6051-11ef-bfe4-c31b6cdd0766; __kps=AATcZArVgS76EPn0FMaV4HEj; __ktd=sii/iz4ePzEaoVirXul7QQ==; __uid=AATcZArVgS76EPn0FMaV4HEj; __itrace_wid=5829b95d-dac1-48d3-bfd5-f60cd9462786; __puus=7da0b96cb710fa1b376934485f977e05AATp/q8/QupT7IiBR1GWqZhxlIRT677smMvoHlLxQA0Lk6CkP0YJBOTl+p9DZgzlMz6w4hPXPgWsokukk8PW7ZfhFfPmv8tKMgLpCGLW+tk57luhNghmSdTeVPkAF59STtyCPBEtiNzNAd/zZJ6qILJDi5ywEBAAAg+gOyWHoLHNUR+QxeHRuQa8g5WWA95J8jebIlrr8rCvI1vjTbtiYktT\",\"token\":\"26fc6787afff43e78b78992e782502f1\"}"); - spider.init(mockContext, "{\"uccookie\":\"_UP_28A_52_=519; _UP_A4A_11_=wb96b13a80d44eae9407596078d79493; _UP_D_=pc; tfstk=fRdEajNMTXhetGh7Nw5PuETdKgfdg6mjzQs5rUYlRMjnyvIlrG82OTmpPhSljwv7xwXhI87CPLslEg4pBnT0OBMdN75dw_mjcjGXReCRZQi_tWVdIZ8Gr72_NBgRw_mjfRNlpj5JDp4CGQYi7a_7twxlr50NPa_hZMXujRbcj_jkq9cGSZ_h-Jjh-R0NyGjlZTfoghpW387CKqMWqzlSpPOVmejHSFAMoosW-nN7rMSNL-8hb7Vksd_MEFjnHPsROMLh83hY96XyEB1MtccliKKwatfqF2BHzd-ROC0uKivBATdNQk2hu6SFnBXEw2CGEdRNOBm8HFTNxt56CAnCF6-eHiBnBcKy7MtkTOqEfg9X5BXwmcNw2TJkO1AnjjSyduQMpvOJwbePKNQNcVuw2tGY1PGkmU28eOfA7igCR8eRKNQNcVuae8BGXNSjRw1..; __pus=b53d5e3528975736692ad367fe0276ccAATHcuvAQPpM8qlCrY4RrF+6pZeokueQTJtP1GP9B/KlzCoM8BnjHtYnKPHRdGVEM8SrVm+nBqAxqGZfimoR13El; __kp=151a8750-9a86-11ef-bd21-670afe524949; __kps=AAQXoZxLp9Oe2Ps0d/hNBJl4; __ktd=2gPNadz6Z9c+2+FyQyQZUw==; __uid=AAQXoZxLp9Oe2Ps0d/hNBJl4; b-user-id=4eacf5e0-77a2-11ef-86f9-df0d3f1b47d6; __puus=0553ad1bddd035b3449c9152aeee5c9aAATQ3CFawxKtD39OztVJaqQFLCrKnmPPCSldlGnO+Fa7bYbqwjjoIdP6b3jWkwcfBYKm/6GlbvWRZSI9+Ulk6SQ/TaPUdvuLmi4y1YbzB0w1S27SpqionxP94jPdaDWTpHrXXjLeBV2Vl1QZKCGK9PCg41DmUBspov39QKgWy9fMGbegyHREpqXixPzlbhY2vVU=\"," + + spider.init(mockContext, "{\"uccookie\":\"_UP_28A_52_=381;_UP_BT_=html5;_UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6Kl8ttcYB1X9Nkx0DnGMyJVLgv0M%2FCztZQaIhZhKaI%2F0Fa%2F5Fqe1t%2BDWF1o9sO71vnupc%2Fvxa%2B78J%2B%2BRZYZzk2EJNXvW0Y4gaAMFHf67r%2BOPjtggEPU7aNnlZbsGKBzPbuW85OJ3M3Dyz9a0oAjFZucLNmfj8kwFS5su6ugGZUgH1RU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSHYYCfquwtPWx%2FgYBqTnLfzoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW;_UP_6D1_64_=069;_UP_A4A_11_=wb96b12a16f941809f5af993726ba192;_UP_D_=mobilectoken=oxJV13ITm7aa7_rsplIXC-_v;__pus=cef2cc2dfd5d8af70df36bcedf83995cAAT3ZYhqlLos+yCaVQYYC944c4HEQnHz8uEpdQner0OcqISOpBObxl2kck65MGceRIDBd+MLtDxsNqwXvgDIFpYU;__kp=0d340990-9b39-11ef-ae54-4f733858896a;__kps=AAQXoZxLp9Oe2Ps0d/hNBJl4;__ktd=2gPNadz6Z9c+2+FyQyQZUw==;__uid=AAQXoZxLp9Oe2Ps0d/hNBJl4;UDRIVE_TRANSFER_SESS=UpLXXX2HAXJNW0AHgDcMurpazcqTbU-EQWnKG6RKtkdhdqZgHGTM-BSulf_oo1nmMMjo6hFdByLlm-bEiwjByMbIIEehsxhuuV00b96SSaPExn0wMcQ8SmzJa-YwonEE2MEVWCHcRYuW4Z-ljMOgab7qaGtQUpqjkl-p6OTv23BW-4gM6y7DNKvGeaMv_3NX\"," + "\"cookie\":\"b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; _UP_A4A_11_=wb9661c6dfb642f88f73d8e0c7edd398; b-user-id=89ede34e-0efc-e1dd-c997-f16aaa792d0c; ctoken=wla6p3EUOLyn1FSB8IKp1SEW; grey-id=5583e32b-39df-4bf0-f39f-1adf83f604a2; grey-id.sig=p8ReBIMG2BeZu1sYvsuOAZxYbx-MVrsfKEiCv87MsTM; isQuark=true; isQuark.sig=hUgqObykqFom5Y09bll94T1sS9abT1X-4Df_lzgl8nM; _UP_F7E_8D_=ZkyvVHnrBLp1A1NFJIjWi0PwKLOVbxJPcg0RzQPI6KmBtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj44KlE5biSNDOWW7Bigcz27lvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57k4mfPmDlCgpZKzxwl6beSfdtZ4RUWXmZOn5v5NkxVKhU4wR0Pq7NklczEGdRq2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7KAhQIRqSOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW; _UP_D_=pc; __wpkreporterwid_=3d3f74a7-99b7-4916-3f78-911fc2eb9d87; tfstk=fIoZNxjnbhKwPOu0TWZ4LsaRqirTcudSSmNbnxD0C5VgClMm8xMyB-GsnSu4tjpOflAOmSD-9PNiGl120XrgkVNb1SrqHbJBN3tSBAEYoQOWVUUg9qZ8n1bGGkD3CqGYINKSBABhjnXgp3_Vywz6gSc0Syj3BWf0mr2DLW24eZfiiovEKWefj1q0swq3E82iNEMinMy7SLrcpA4Fh3z_ZAViCfih3PbtdW5N_DuU77AaTijmYRkL2Wq54ENoy5a7ZXxCbok33XzS7QSZgxD-oyoVsdGotql0p2dVu7umC4nLStbiLmParc4FELHrI-c0u2dPVRrs8zoZWKCnIbNZrlHfUCMUz2z8KyXVSlgSFmUojh58OzeqTzgwaGll4YCYKwctDV5coP2LL79eKHxpNTXHmre1kZU32JPWCR_AkP2LL79eLZQY-WeUNdw1.; __pus=2051c82285199d8be553be41dd5a2100AAQ+mmv35G4FDDZ5x+3Mhe2OMbNgweQ1ODbW8zDt9YuP1LQVqHUuAAz9KWLsPjpNtim0AVGHusN4MCosTmbq/khM; __kp=e6604120-6051-11ef-bfe4-c31b6cdd0766; __kps=AATcZArVgS76EPn0FMaV4HEj; __ktd=sii/iz4ePzEaoVirXul7QQ==; __uid=AATcZArVgS76EPn0FMaV4HEj; __itrace_wid=5829b95d-dac1-48d3-bfd5-f60cd9462786; __puus=7da0b96cb710fa1b376934485f977e05AATp/q8/QupT7IiBR1GWqZhxlIRT677smMvoHlLxQA0Lk6CkP0YJBOTl+p9DZgzlMz6w4hPXPgWsokukk8PW7ZfhFfPmv8tKMgLpCGLW+tk57luhNghmSdTeVPkAF59STtyCPBEtiNzNAd/zZJ6qILJDi5ywEBAAAg+gOyWHoLHNUR+QxeHRuQa8g5WWA95J8jebIlrr8rCvI1vjTbtiYktT\",\"token\":\"26fc6787afff43e78b78992e782502f1\"}"); // spider.init(mockContext, ""); } @@ -67,7 +67,7 @@ public class WoggTest { @org.junit.Test public void detailContent() throws Exception { - String content = spider.detailContent(Arrays.asList("/voddetail/88220.html")); + String content = spider.detailContent(Arrays.asList("/voddetail/88884.html")); System.out.println("detailContent--" + content); JsonObject map = Json.safeObject(content); @@ -78,7 +78,7 @@ public class WoggTest { @org.junit.Test public void playerContent() throws Exception { - String content = spider.playerContent("uc普画", "c346b2883f0346d793b2aab7dbf6c08c++870814f06ad04ebb4a2a4d89939e9a87++1bc52309b62f4++W/a0uygbijnst0uF2B6kvTDU7975oIx/U+6Rx4712O0=", new ArrayList<>()); + String content = spider.playerContent("uc普画", "52fd84f0bfd44c93a1fca6c76d0b8d16++28d4a0a00ad96562f96506da49b988a0++5ae2d1c474024++yA4L8FmH06i8nfmmY4MwHNSsyhpVzLhzxqDixCp0xm4=", new ArrayList<>()); System.out.println("playerContent--" + content); JsonObject map = Json.safeObject(content); Gson gson = new GsonBuilder().setPrettyPrinting().create();