前面有个厂家的登录需要用到cookie数据做缓存,然后之前没有类似的需求,于是四处查找,后面终于找到!
有用的代码如下:
OkHttpClient client = new OkHttpClient.Builder().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());
return cookies != null ? cookies : new ArrayList<Cookie>();
}
}).connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.build();