前言
关于 okhttp3 的 cookie 自动管理,搜索发现网上大多都是通过 url.host()
来当 key 存进 map 里面,这样使用 cookie 无法对应域名使用。
问题
先看一段网上的代码
1 | OkHttpClient client = new OkHttpClient.Builder() |
这里使用的是 url.host()
,也就是请求的 url ,而不是 cookie 返回的 domain ,这样导致无法跨域名使用,还是出现覆盖的问题。
解决方法
使用 cookie.domain()
来当 key 来存储,代码如下,这里没有使用持久化
1 | OkHttpClient client = new OkHttpClient.Builder() |