Clean ua code

pull/142/head
FongMi 2 years ago
parent 4040e9d589
commit 16f1203929
  1. 4
      app/src/main/java/com/fongmi/android/tv/player/ParseJob.java
  2. 3
      app/src/main/java/com/fongmi/android/tv/player/extractor/Force.java
  3. 5
      app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java
  4. 10
      app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java
  5. 4
      app/src/main/java/com/fongmi/android/tv/utils/M3U8.java
  6. 3
      app/src/main/java/com/fongmi/android/tv/utils/Utils.java
  7. 8
      catvod/src/main/java/com/github/catvod/utils/Util.java
  8. 3
      quickjs/src/main/java/com/fongmi/quickjs/utils/Module.java

@ -10,6 +10,8 @@ import com.fongmi.android.tv.ui.custom.CustomWebView;
import com.fongmi.android.tv.utils.Utils;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@ -179,7 +181,7 @@ public class ParseJob implements ParseCallback {
private Map<String, String> getHeader(JsonObject object) {
Map<String, String> headers = new HashMap<>();
for (String key : object.keySet()) if (key.equalsIgnoreCase("user-agent") || key.equalsIgnoreCase("referer")) headers.put(key, object.get(key).getAsString());
for (String key : object.keySet()) if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT) || key.equalsIgnoreCase(HttpHeaders.REFERER)) headers.put(Util.fix(key), object.get(key).getAsString());
return headers;
}

@ -12,6 +12,7 @@ import com.fongmi.android.tv.player.Source;
import com.forcetech.Util;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Github;
import com.google.common.net.HttpHeaders;
import java.util.HashSet;
@ -40,7 +41,7 @@ public class Force implements Source.Extractor {
String id = uri.getLastPathSegment();
String cmd = "http://127.0.0.1:" + port + "/cmd.xml?cmd=switch_chan&server=" + uri.getHost() + ":" + uri.getPort() + "&id=" + id;
String result = "http://127.0.0.1:" + port + "/" + id;
OkHttp.newCall(cmd, Headers.of("user-agent", "MTV")).execute().body().string();
OkHttp.newCall(cmd, Headers.of(HttpHeaders.USER_AGENT, "MTV")).execute().body().string();
return result;
}

@ -21,6 +21,7 @@ import com.fongmi.android.tv.bean.Site;
import com.fongmi.android.tv.impl.ParseCallback;
import com.fongmi.android.tv.utils.Sniffer;
import com.github.catvod.crawler.Spider;
import com.google.common.net.HttpHeaders;
import java.io.ByteArrayInputStream;
import java.util.Map;
@ -58,7 +59,7 @@ public class CustomWebView extends WebView {
private void setUserAgent(Map<String, String> headers) {
for (String key : headers.keySet()) {
if (key.equalsIgnoreCase("user-agent")) {
if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT)) {
getSettings().setUserAgentString(headers.get(key));
break;
}
@ -114,7 +115,7 @@ public class CustomWebView extends WebView {
private void post(Map<String, String> headers, String url) {
String cookie = CookieManager.getInstance().getCookie(url);
if (cookie != null) headers.put("cookie", cookie);
if (cookie != null) headers.put(HttpHeaders.COOKIE, cookie);
onParseSuccess(headers, url);
}

@ -24,6 +24,7 @@ import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders;
import com.google.gson.JsonParser;
@ -85,14 +86,7 @@ public class ImgUtil {
private static void addHeader(LazyHeaders.Builder builder, String header) {
Map<String, String> map = Json.toMap(JsonParser.parseString(header));
for (Map.Entry<String, String> entry : map.entrySet()) builder.addHeader(replace(entry.getKey()), entry.getValue());
}
private static String replace(String key) {
if (key.equals("user-agent")) return HttpHeaders.USER_AGENT;
if (key.equals("referer")) return HttpHeaders.REFERER;
if (key.equals("cookie")) return HttpHeaders.COOKIE;
return key;
for (Map.Entry<String, String> entry : map.entrySet()) builder.addHeader(Util.fix(entry.getKey()), entry.getValue());
}
public static byte[] resize(byte[] bytes) {

@ -6,7 +6,6 @@ import com.github.catvod.net.OkHttp;
import com.google.common.net.HttpHeaders;
import java.util.Map;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -28,8 +27,7 @@ public class M3U8 {
private static Headers getHeader(Map<String, String> headers) {
Headers.Builder builder = new Headers.Builder();
if (headers.containsKey(HttpHeaders.USER_AGENT)) builder.add(HttpHeaders.USER_AGENT, Objects.requireNonNull(headers.get(HttpHeaders.USER_AGENT)));
if (headers.containsKey(HttpHeaders.REFERER)) builder.add(HttpHeaders.REFERER, Objects.requireNonNull(headers.get(HttpHeaders.REFERER)));
for (Map.Entry<String, String> header : headers.entrySet()) if (header.getKey().equalsIgnoreCase(HttpHeaders.USER_AGENT) || header.getKey().equalsIgnoreCase(HttpHeaders.REFERER)) builder.add(header.getKey(), header.getValue());
return builder.build();
}

@ -96,7 +96,8 @@ public class Utils {
}
public static Map<String, String> checkUa(Map<String, String> headers) {
if (Setting.getUa().isEmpty() || headers.containsKey(HttpHeaders.USER_AGENT) || headers.containsKey(HttpHeaders.USER_AGENT.toLowerCase())) return headers;
if (Setting.getUa().isEmpty()) return headers;
for (Map.Entry<String, String> header : headers.entrySet()) if (header.getKey().equalsIgnoreCase(HttpHeaders.USER_AGENT)) return headers;
headers.put(HttpHeaders.USER_AGENT, Setting.getUa());
return headers;
}

@ -7,6 +7,7 @@ import android.text.TextUtils;
import android.util.Base64;
import com.github.catvod.Init;
import com.google.common.net.HttpHeaders;
import java.io.File;
import java.io.FileInputStream;
@ -116,6 +117,13 @@ public class Util {
}
}
public static String fix(String key) {
if (key.equalsIgnoreCase(HttpHeaders.USER_AGENT)) return HttpHeaders.USER_AGENT;
if (key.equalsIgnoreCase(HttpHeaders.REFERER)) return HttpHeaders.REFERER;
if (key.equalsIgnoreCase(HttpHeaders.COOKIE)) return HttpHeaders.COOKIE;
return key;
}
public static String size(long size) {
if (size <= 0) return "";
int group = (int) (Math.log10(size) / Math.log10(1024));

@ -4,6 +4,7 @@ import android.net.Uri;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Path;
import com.google.common.net.HttpHeaders;
import java.io.File;
import java.nio.charset.StandardCharsets;
@ -40,7 +41,7 @@ public class Module {
Uri uri = Uri.parse(url);
File file = Path.js(uri.getLastPathSegment());
if (file.exists()) return Path.read(file);
Response response = OkHttp.newCall(url, Headers.of("User-Agent", "Mozilla/5.0")).execute();
Response response = OkHttp.newCall(url, Headers.of(HttpHeaders.USER_AGENT, "Mozilla/5.0")).execute();
if (response.code() != 200) return "";
byte[] data = response.body().bytes();
boolean cache = !"127.0.0.1".equals(uri.getHost());

Loading…
Cancel
Save