sna*_*msm 5 cookies android android-webview android-cookiemanager
让我们为cookie存储做准备:
CookieSyncManager.createInstance(getApplicationContext());
CookieSyncManager.getInstance().startSync();
CookieManager.getInstance().setAcceptCookie(true);
Run Code Online (Sandbox Code Playgroud)
然后,我手动放入一些cookie,让我们说PHPSESSID
和RANDOM
CookieManager.getInstance().setCookie("domain.com", "PHPSESSID="+phpSession);
CookieManager.getInstance().setCookie("domain.com", "RANDOM="+random);
Run Code Online (Sandbox Code Playgroud)
我们使用以下命令检查它是否正常工作:
CookieManager.getInstance().getCookie("domain.com");
Run Code Online (Sandbox Code Playgroud)
并得到
PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56; RANDOM=266284790:1466147978:c91d0896bac59e0b
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错,但是当我导航到应用程序中的“ WebView
活动” 之一时,该活动会打开同一域的网站并设置cookie,然后当我像上面那样打印cookie时,它看起来像这样:
PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56;
RANDOM=266284790:1466147978:c91d0896bac59e0b;
PHPSESSID=9ecb5156cf8fc3190fbc69fd13393243;
RANDOM=265078219%3A1463147975%3Ad0448d163e9b2123
Run Code Online (Sandbox Code Playgroud)
重复的条目...之后,我再次手动设置例如RANDOM与setCookie
:
PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56;
RANDOM=111111111:2222222222:33333336bac59e0b;
PHPSESSID=9ecb5156cf8fc3190fbc69fd13393243;
RANDOM=265078219%3A1463147975%3Ad0448d163e9b2123
Run Code Online (Sandbox Code Playgroud)
设置的值WebView
不会被覆盖,只有我的“手动”输入...如何强制WebView
使用我之前设置的cookie或已设置的覆盖?
private void setCookieManager(String auth_token) {
CookieSyncManager manager = CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();
cookieManager.setCookie(auth_token);
manager.sync();
}
Run Code Online (Sandbox Code Playgroud)
我认为您只是没有正确设置 cookie 管理器。尝试一下
归档时间: |
|
查看次数: |
3179 次 |
最近记录: |