问题出现
今天在使用Retrofit2 实现Cookie持久化中发现一个问题,能访问到服务器,但是获取不到cookie于是通过debug深入源码去探究一下为什么不能获取到cookie?
问题解决
通过debug发现了问题出现在这里

上面的类是okhhtp 的Cookie类
这里我的domain和urlHost不匹配导致我不能获取都cookie,从而导致不能将cookie持久化
在这里我发现了问题,因为后端服务器是在我的电脑上跑的,设置的domain为localHost,而android studio虚拟机是不能用localhost而是使用10.0.2.2,这就导致了我不能获取到cookie,而这真机这也是不能使用localhost,所以我的解决方法是修改服务器用的地址,不能使用localhost,不知道还有没有更好的方法。
主要是这里是在尝试cookie持久化,没想到问题出现在服务器上,真的是太坑了
cookie持久化参考文章 Retrofit2.0 ,OkHttp3完美同步持久Cookie实现免登录(二) Retrofit在客户端保持Cookie(服务器的Token验证) Android OkHttp Cookie持久化问题总结