add - bili98
This commit is contained in:
@@ -3,20 +3,20 @@ package com.github.catvod.utils.okhttp;
|
|||||||
import com.github.catvod.crawler.SpiderDebug;
|
import com.github.catvod.crawler.SpiderDebug;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import okhttp3.Call;
|
import okhttp3.*;
|
||||||
import okhttp3.OkHttpClient;
|
|
||||||
import okhttp3.Response;
|
|
||||||
|
|
||||||
public class OkHttpUtil {
|
public class OkHttpUtil {
|
||||||
|
|
||||||
public static final String METHOD_GET = "GET";
|
public static final String METHOD_GET = "GET";
|
||||||
public static final String METHOD_POST = "POST";
|
public static final String METHOD_POST = "POST";
|
||||||
|
|
||||||
public static final int DEFAULT_TIMEOUT = 20;
|
private static final int DEFAULT_TIMEOUT = 15;
|
||||||
|
|
||||||
private static final Object lockO = new Object();
|
private static final Object lockO = new Object();
|
||||||
|
|
||||||
@@ -27,10 +27,24 @@ public class OkHttpUtil {
|
|||||||
*/
|
*/
|
||||||
private static OkHttpClient noRedirectClient = null;
|
private static OkHttpClient noRedirectClient = null;
|
||||||
|
|
||||||
|
public static HashMap<String, List<Cookie>> cookieStore = new HashMap<>();
|
||||||
|
|
||||||
public static OkHttpClient defaultClient() {
|
public static OkHttpClient defaultClient() {
|
||||||
synchronized (lockO) {
|
synchronized (lockO) {
|
||||||
if (defaultClient == null) {
|
if (defaultClient == null) {
|
||||||
OkHttpClient.Builder builder = new OkHttpClient.Builder()
|
OkHttpClient.Builder builder = new OkHttpClient.Builder()
|
||||||
|
.cookieJar(new CookieJar() {
|
||||||
|
@Override
|
||||||
|
public void saveFromResponse(HttpUrl httpUrl, List<Cookie> list) {
|
||||||
|
cookieStore.put(httpUrl.host(), list);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Cookie> loadForRequest(HttpUrl httpUrl) {
|
||||||
|
List<Cookie> cookies = cookieStore.get(httpUrl.host());
|
||||||
|
return cookies != null ? cookies : new ArrayList<>();
|
||||||
|
}
|
||||||
|
})
|
||||||
.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
|
.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
|
||||||
.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
|
.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
|
||||||
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
|
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
|
||||||
@@ -164,7 +178,7 @@ public class OkHttpUtil {
|
|||||||
public static void cancel(Object tag) {
|
public static void cancel(Object tag) {
|
||||||
cancel(defaultClient(), tag);
|
cancel(defaultClient(), tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void cancelAll() {
|
public static void cancelAll() {
|
||||||
cancelAll(defaultClient());
|
cancelAll(defaultClient());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user