if (singleton == null) {
synchronized (HttpUtil.class) {
if (singleton == null) { singleton = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.addInterceptor(new LoggingInterceptor())
.cookieJar(new CookieJar() {
private final HashMap<String, List<Cookie>> cookieStore = new HashMap<>(); @Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) { cookieStore.put(url.host(), cookies); } @Override
public List<Cookie> loadForRequest(HttpUrl url) {
List<Cookie> cookies = cookieStore.get(url.host());
System.out.println("Cookies======="+cookies);
return cookies != null ? cookies : new ArrayList<Cookie>();
}
}).build();
}
}
}
debug时代码运行到 cookieStore.get(url.host())的时候有值,代码运行到cookieStore.put(url.host(), cookies);的时候cookie值就丢失了,求教怎么处理?
synchronized (HttpUtil.class) {
if (singleton == null) { singleton = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.addInterceptor(new LoggingInterceptor())
.cookieJar(new CookieJar() {
private final HashMap<String, List<Cookie>> cookieStore = new HashMap<>(); @Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) { cookieStore.put(url.host(), cookies); } @Override
public List<Cookie> loadForRequest(HttpUrl url) {
List<Cookie> cookies = cookieStore.get(url.host());
System.out.println("Cookies======="+cookies);
return cookies != null ? cookies : new ArrayList<Cookie>();
}
}).build();
}
}
}
debug时代码运行到 cookieStore.get(url.host())的时候有值,代码运行到cookieStore.put(url.host(), cookies);的时候cookie值就丢失了,求教怎么处理?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货