我使用以下代码设置Cookie
PersistentCookieJar cookieJar = new PersistentCookieJar(
new SetCookieCache(), new SharedPrefsCookiePersistor(context));
clientBuilder.cookieJar(cookieJar);
Retrofit retrofit = builder.client(
clientBuilder.build()).build();
这是我从服务器收到的标题:
Set-Cookie: wordpress_logged_in_6041590398a33ab947560d559f09d479=capad%7C1488467742%7CSttfNHrOkwd67CteCGepJyv3bNU2SeSW0URepOPxCe5%7C5091b3bbcc334e520cec85c4c9b8e26a07a962d3c00c8c709b87f90018370f60; path=/; secure; httponly
答案 0 :(得分:1)
您的Cookie(Set-Cookie: wordpress_logged_in_[etc]; path=/; secure; httponly
)没有设置到期日期。
这使它成为一个“会话”cookie,不应该持久化。您的PersistentCookieJar
可能会遵循正确的规范,不会在没有过期的情况下保留任何Cookie。
您可以在收到此cookie时手动添加过期(可能使用OkHttp拦截器),也可以创建自己版本的PersistentCookieJar
以保留所有Cookie(这可能不是一个好主意)。
另一种选择是尊重发送该cookie的人希望它成为会话cookie的事实。