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); } }