pull/137/head
FongMi 4 years ago
parent c4832c72e5
commit 846ef53acd
  1. 11
      app/src/main/java/com/fongmi/android/tv/api/JarLoader.java
  2. 3
      app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/server/Server.java

@ -71,13 +71,12 @@ public class JarLoader {
public Spider getSpider(String key, String api, String ext, String jar) {
try {
current = jar.isEmpty() ? baseJar : jar;
if (spiders.containsKey(current + key)) return spiders.get(current + key);
String spKey = (current = jar.isEmpty() ? baseJar : jar) + key;
if (spiders.containsKey(spKey)) return spiders.get(spKey);
if (!loaders.containsKey(current)) parseJar(current);
api = api.replace("csp_", "");
Spider spider = (Spider) loaders.get(current).loadClass("com.github.catvod.spider." + api).newInstance();
Spider spider = (Spider) loaders.get(current).loadClass("com.github.catvod.spider." + api.replace("csp_", "")).newInstance();
spider.init(App.get(), ext);
spiders.put(current + key, spider);
spiders.put(spKey, spider);
return spider;
} catch (Exception e) {
e.printStackTrace();
@ -113,7 +112,7 @@ public class JarLoader {
public Object[] proxyInvoke(Map<?, ?> params) {
try {
Method proxyFun = methods.get(current);
Method proxyFun = methods.get(current = current.isEmpty() ? baseJar : current);
if (proxyFun != null) return (Object[]) proxyFun.invoke(null, params);
else return null;
} catch (Exception e) {

@ -8,6 +8,7 @@ import com.fongmi.android.tv.api.ApiConfig;
import com.fongmi.android.tv.bean.Parse;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.net.OKHttp;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.ui.custom.CustomWebView;
import com.fongmi.android.tv.utils.Json;
import com.google.gson.JsonObject;
@ -104,7 +105,7 @@ public class ParseTask {
if (result.getUrl().isEmpty()) {
onParseError();
} else if (result.getParse(0) == 1) {
handler.post(() -> webView.start(result.getUrl(), callback));
handler.post(() -> webView.start(Server.proxy(result.getUrl()), callback));
} else {
onParseSuccess(result.getHeaders(), result.getUrl(), result.getJxFrom());
}

@ -34,6 +34,11 @@ public class Server implements Nano.Listener {
return "http://" + (local ? "127.0.0.1" : getIP()) + ":" + port;
}
public static String proxy(String url) {
if (url.startsWith("proxy://")) return url.replace("proxy://", get().getAddress(true) + "/proxy?");
return url;
}
public void start() {
if (nano != null) return;
do {

Loading…
Cancel
Save