From c4fd226576d2d720e1a1084a4da72694fd4a8534 Mon Sep 17 00:00:00 2001 From: jhengazuki Date: Tue, 21 Oct 2025 18:42:02 +0800 Subject: [PATCH] Remove cookie jar --- .../android/tv/ui/custom/CustomWebView.java | 6 +- .../com/github/catvod/net/OkCookieJar.java | 87 ------------------- .../java/com/github/catvod/net/OkHttp.java | 2 +- .../net/interceptor/RequestInterceptor.java | 3 - 4 files changed, 4 insertions(+), 94 deletions(-) delete mode 100644 catvod/src/main/java/com/github/catvod/net/OkCookieJar.java diff --git a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java index 3794b9b10..5889887e1 100644 --- a/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java +++ b/app/src/main/java/com/fongmi/android/tv/ui/custom/CustomWebView.java @@ -7,6 +7,7 @@ import android.net.Uri; import android.net.http.SslError; import android.text.TextUtils; import android.view.ViewGroup; +import android.webkit.CookieManager; import android.webkit.SslErrorHandler; import android.webkit.WebResourceRequest; import android.webkit.WebResourceResponse; @@ -25,7 +26,6 @@ import com.fongmi.android.tv.impl.ParseCallback; import com.fongmi.android.tv.ui.dialog.WebDialog; import com.fongmi.android.tv.utils.Sniffer; import com.github.catvod.crawler.Spider; -import com.github.catvod.net.OkCookieJar; import com.github.catvod.utils.Util; import com.google.common.net.HttpHeaders; import com.orhanobut.logger.Logger; @@ -100,15 +100,15 @@ public class CustomWebView extends WebView implements DialogInterface.OnDismissL } private void start(Map headers) { - OkCookieJar.setAcceptThirdPartyCookies(this); + CookieManager.getInstance().setAcceptThirdPartyCookies(this, true); checkHeader(url, headers); loadUrl(url, headers); } private void checkHeader(String url, Map headers) { for (String key : headers.keySet()) { - if (HttpHeaders.COOKIE.equalsIgnoreCase(key)) OkCookieJar.sync(url, headers.get(key)); if (HttpHeaders.USER_AGENT.equalsIgnoreCase(key)) getSettings().setUserAgentString(headers.get(key)); + if (HttpHeaders.COOKIE.equalsIgnoreCase(key)) CookieManager.getInstance().setCookie(url, headers.get(key)); } } diff --git a/catvod/src/main/java/com/github/catvod/net/OkCookieJar.java b/catvod/src/main/java/com/github/catvod/net/OkCookieJar.java deleted file mode 100644 index 7e28dabfc..000000000 --- a/catvod/src/main/java/com/github/catvod/net/OkCookieJar.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.github.catvod.net; - -import android.text.TextUtils; -import android.webkit.CookieManager; -import android.webkit.WebView; - -import androidx.annotation.NonNull; - -import com.google.common.net.HttpHeaders; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import okhttp3.Cookie; -import okhttp3.CookieJar; -import okhttp3.HttpUrl; -import okhttp3.Request; - -public class OkCookieJar implements CookieJar { - - private CookieManager manager; - - private static class Loader { - static volatile OkCookieJar INSTANCE = new OkCookieJar(); - } - - public static OkCookieJar get() { - return Loader.INSTANCE; - } - - private OkCookieJar() { - try { - manager = CookieManager.getInstance(); - } catch (Throwable ignored) { - } - } - - public static void setAcceptThirdPartyCookies(WebView view) { - try { - get().manager.setAcceptThirdPartyCookies(view, true); - } catch (Throwable ignored) { - } - } - - public static void sync(HttpUrl url, Request request) { - if (!"127.0.0.1".equals(url.host())) sync(url.toString(), request.header(HttpHeaders.COOKIE)); - } - - public static void sync(String url, String cookie) { - try { - if (TextUtils.isEmpty(cookie)) return; - for (String split : cookie.split(";")) get().manager.setCookie(url, split); - get().manager.flush(); - } catch (Throwable ignored) { - } - } - - private void add(List items, Cookie cookie) { - if (cookie != null) items.add(cookie); - } - - @NonNull - @Override - public synchronized List loadForRequest(@NonNull HttpUrl url) { - try { - List items = new ArrayList<>(); - String cookie = manager.getCookie(url.toString()); - if (TextUtils.isEmpty(cookie)) return Collections.emptyList(); - if ("127.0.0.1".equals(url.host())) return Collections.emptyList(); - for (String split : cookie.split(";")) add(items, Cookie.parse(url, split)); - return items; - } catch (Throwable e) { - return Collections.emptyList(); - } - } - - @Override - public synchronized void saveFromResponse(@NonNull HttpUrl url, @NonNull List cookies) { - try { - if ("127.0.0.1".equals(url.host())) return; - for (Cookie cookie : cookies) manager.setCookie(url.toString(), cookie.toString()); - manager.flush(); - } catch (Throwable ignored) { - } - } -} \ No newline at end of file diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java index 510238f77..dfd006a54 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -204,7 +204,7 @@ public class OkHttp { } private static OkHttpClient.Builder getBuilder() { - OkHttpClient.Builder builder = new OkHttpClient.Builder().cookieJar(OkCookieJar.get()).addInterceptor(requestInterceptor()).addInterceptor(authInterceptor()).addNetworkInterceptor(responseInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).sslSocketFactory(getSSLContext().getSocketFactory(), trustAllCertificates()); + OkHttpClient.Builder builder = new OkHttpClient.Builder().addInterceptor(requestInterceptor()).addInterceptor(authInterceptor()).addNetworkInterceptor(responseInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).sslSocketFactory(getSSLContext().getSocketFactory(), trustAllCertificates()); HttpLoggingInterceptor logging = new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY); builder.proxyAuthenticator(authenticator()); //builder.addNetworkInterceptor(logging); diff --git a/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java b/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java index 0f0c815c3..3628ea67c 100644 --- a/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java +++ b/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java @@ -2,8 +2,6 @@ package com.github.catvod.net.interceptor; import androidx.annotation.NonNull; -import com.github.catvod.net.OkCookieJar; - import java.io.IOException; import java.util.concurrent.ConcurrentHashMap; @@ -31,7 +29,6 @@ public class RequestInterceptor implements Interceptor { Request.Builder builder = request.newBuilder(); HttpUrl url = request.url(); checkAuth(url, builder); - OkCookieJar.sync(url, request); return chain.proceed(builder.build()); }