我已经通过 WebView 登录到一个站点。然后我得到了由 webview 在登录时设置的 cookie。然后我试图稍后设置cookie。请看我的代码:
CookieSyncManager.createInstance(context);
CookieManager cookieManager = CookieManager.getInstance();
Log.e("checkPost 1", cookie);
cookieManager.setCookie("https://************", cookie);
Log.e("checkPost 2", cookieManager.getCookie("https://*************"));
CookieSyncManager.getInstance().sync();
Log.e("checkPost 3", cookieManager.getCookie("https://*************"));
在checkPost 1
打印的 cookie 中显示它很好。但是在它的声明中checkPost 2
和之后,表明大部分cookie都消失了。问题是什么 ?我需要设置 cookie。但我找不到花费大约 2 天的方法。sync()
CookieSyncManager.getInstance().sync();
checkPost 3
编辑:
在android文档中它说:
public void setCookie(字符串 url,字符串值)
为给定的 URL 设置一个 cookie。任何具有相同主机、路径和名称的现有 cookie 都将被新 cookie 替换。设置的 cookie 必须没有过期,也不能是会话 cookie,否则将被忽略。
有没有办法通过强制CookieManager
设置会话cookie setCookie()
?我认为问题是,可能是我试图设置session cookie