From ec04fe6449fb566448b3d3b4bbff8e3db6bcf3df Mon Sep 17 00:00:00 2001 From: 21561 <215613905@qq.com> Date: Wed, 12 Oct 2022 00:14:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=9B=BE=E5=BA=8Abug;?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=97=85=E6=8E=A2=E5=81=B6=E5=8F=91=E6=8A=A5?= =?UTF-8?q?=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/github/tvbox/osc/api/ApiConfig.java | 4 ++- .../tvbox/osc/ui/activity/PlayActivity.java | 34 +++++++++--------- .../tvbox/osc/ui/fragment/PlayFragment.java | 36 ++++++++++--------- 3 files changed, 41 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java index 7590f4a1..8e837ca1 100644 --- a/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/api/ApiConfig.java @@ -101,8 +101,10 @@ public class ApiConfig { String key = AES.rightPadding(content.substring(content.indexOf("$#") + 2, content.indexOf("#$")), "0", 16); String iv = AES.rightPadding(content.substring(content.length() - 13), "0", 16); json = AES.CBC(data, key, iv); - } else { + } else if (configKey !=null) { json = AES.ECB(content, configKey); + } else { + json = content; } } catch (Exception e) { e.printStackTrace(); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java index a37bf55d..e9535f4a 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java @@ -946,25 +946,27 @@ public class PlayActivity extends BaseActivity { setTip("正在嗅探播放地址", true, false); mHandler.removeMessages(100); mHandler.sendEmptyMessageDelayed(100, 20 * 1000); - // 解析ext - try { - HashMap reqHeaders = new HashMap<>(); - JSONObject jsonObject = new JSONObject(pb.getExt()); - if (jsonObject.has("header")) { - JSONObject headerJson = jsonObject.optJSONObject("header"); - Iterator keys = headerJson.keys(); - while (keys.hasNext()) { - String key = keys.next(); - if (key.equalsIgnoreCase("user-agent")) { - webUserAgent = headerJson.getString(key).trim(); - }else { - reqHeaders.put(key, headerJson.optString(key, "")); + if(pb.getExt()!=null){ + // 解析ext + try { + HashMap reqHeaders = new HashMap<>(); + JSONObject jsonObject = new JSONObject(pb.getExt()); + if (jsonObject.has("header")) { + JSONObject headerJson = jsonObject.optJSONObject("header"); + Iterator keys = headerJson.keys(); + while (keys.hasNext()) { + String key = keys.next(); + if (key.equalsIgnoreCase("user-agent")) { + webUserAgent = headerJson.getString(key).trim(); + }else { + reqHeaders.put(key, headerJson.optString(key, "")); + } } + if(reqHeaders.size()>0)webHeaderMap = reqHeaders; } - if(reqHeaders.size()>0)webHeaderMap = reqHeaders; + } catch (Throwable e) { + e.printStackTrace(); } - } catch (Throwable e) { - e.printStackTrace(); } loadWebView(pb.getUrl() + webUrl); } else if (pb.getType() == 1) { // json 解析 diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java index d38bb68c..7d275010 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java @@ -960,25 +960,28 @@ public class PlayFragment extends BaseLazyFragment { setTip("正在嗅探播放地址", true, false); mHandler.removeMessages(100); mHandler.sendEmptyMessageDelayed(100, 20 * 1000); - // 解析ext - try { - HashMap reqHeaders = new HashMap<>(); - JSONObject jsonObject = new JSONObject(pb.getExt()); - if (jsonObject.has("header")) { - JSONObject headerJson = jsonObject.optJSONObject("header"); - Iterator keys = headerJson.keys(); - while (keys.hasNext()) { - String key = keys.next(); - if (key.equalsIgnoreCase("user-agent")) { - webUserAgent = headerJson.getString(key).trim(); - }else { - reqHeaders.put(key, headerJson.optString(key, "")); + if(pb.getExt()!=null){ + // 解析ext + try { + HashMap reqHeaders = new HashMap<>(); + LOG.i("EXT:------------"+pb.getExt()); + JSONObject jsonObject = new JSONObject(pb.getExt()); + if (jsonObject.has("header")) { + JSONObject headerJson = jsonObject.optJSONObject("header"); + Iterator keys = headerJson.keys(); + while (keys.hasNext()) { + String key = keys.next(); + if (key.equalsIgnoreCase("user-agent")) { + webUserAgent = headerJson.getString(key).trim(); + }else { + reqHeaders.put(key, headerJson.optString(key, "")); + } } + if(reqHeaders.size()>0)webHeaderMap = reqHeaders; } - if(reqHeaders.size()>0)webHeaderMap = reqHeaders; + } catch (Throwable e) { + e.printStackTrace(); } - } catch (Throwable e) { - e.printStackTrace(); } loadWebView(pb.getUrl() + webUrl); @@ -1443,6 +1446,7 @@ public class PlayFragment extends BaseLazyFragment { selector=click.trim(); } String js="$(\""+ selector+"\").click();"; + LOG.i("javascript:" + js); mSysWebView.loadUrl("javascript:"+js); } }