pull/212/head
FongMi 2 years ago
parent dd8574901c
commit f79e5f0f2f
  1. 3
      catvod/src/main/java/com/github/catvod/net/OkHttp.java
  2. 9
      catvod/src/main/java/com/github/catvod/net/interceptor/DefaultInterceptor.java

@ -6,6 +6,7 @@ import android.text.TextUtils;
import androidx.collection.ArrayMap; import androidx.collection.ArrayMap;
import com.github.catvod.bean.Doh; import com.github.catvod.bean.Doh;
import com.github.catvod.net.interceptor.DefaultInterceptor;
import com.github.catvod.utils.Path; import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util; import com.github.catvod.utils.Util;
import com.google.common.net.HttpHeaders; import com.google.common.net.HttpHeaders;
@ -140,7 +141,7 @@ public class OkHttp {
} }
private static OkHttpClient.Builder getBuilder() { private static OkHttpClient.Builder getBuilder() {
OkHttpClient.Builder builder = new OkHttpClient.Builder().cookieJar(CookieJar.get()).addInterceptor(new OkhttpInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).sslSocketFactory(new SSLCompat(), SSLCompat.TM); OkHttpClient.Builder builder = new OkHttpClient.Builder().cookieJar(CookieJar.get()).addInterceptor(new DefaultInterceptor()).connectTimeout(TIMEOUT, TimeUnit.MILLISECONDS).readTimeout(TIMEOUT, TimeUnit.MILLISECONDS).writeTimeout(TIMEOUT, TimeUnit.MILLISECONDS).dns(dns()).hostnameVerifier((hostname, session) -> true).sslSocketFactory(new SSLCompat(), SSLCompat.TM);
builder.proxySelector(get().proxy ? selector() : defaultSelector); builder.proxySelector(get().proxy ? selector() : defaultSelector);
return builder; return builder;
} }

@ -1,4 +1,4 @@
package com.github.catvod.net; package com.github.catvod.net.interceptor;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -18,12 +18,12 @@ import okhttp3.ResponseBody;
import okio.BufferedSource; import okio.BufferedSource;
import okio.Okio; import okio.Okio;
public class OkhttpInterceptor implements Interceptor { public class DefaultInterceptor implements Interceptor {
@NonNull @NonNull
@Override @Override
public Response intercept(@NonNull Chain chain) throws IOException { public Response intercept(@NonNull Chain chain) throws IOException {
Response response = chain.proceed(getRequest(chain)); Response response = chain.proceed(getRequest(chain.request()));
String encoding = response.header(HttpHeaders.CONTENT_ENCODING); String encoding = response.header(HttpHeaders.CONTENT_ENCODING);
if (response.body() == null || encoding == null || !encoding.equals("deflate")) return response; if (response.body() == null || encoding == null || !encoding.equals("deflate")) return response;
InflaterInputStream is = new InflaterInputStream(response.body().byteStream(), new Inflater(true)); InflaterInputStream is = new InflaterInputStream(response.body().byteStream(), new Inflater(true));
@ -47,8 +47,7 @@ public class OkhttpInterceptor implements Interceptor {
}).build(); }).build();
} }
private Request getRequest(@NonNull Chain chain) { private Request getRequest(@NonNull Request request) {
Request request = chain.request();
String url = request.url().toString(); String url = request.url().toString();
Request.Builder builder = request.newBuilder(); Request.Builder builder = request.newBuilder();
if (url.contains("+")) builder.url(url.replace("+", "%2B")); if (url.contains("+")) builder.url(url.replace("+", "%2B"));
Loading…
Cancel
Save