Nik*_*iko 6 cookies android webview
我的问题是WebView处理重定向和自定义cookie.
我这样做:
CookieSyncManager和创建实例CookieManagersCookieManager.setAcceptCookie(true);在util类中调用静态部分sCookieManager.setCookie(url, value);
sCookieSyncManager.sync();mWebView.loadUrl服务器端发生的事情是它首先获取我设置的正确cookie,运行一些重定向并且cookie似乎丢失了.任何想法,我在这里做错了什么?
我试过跑setCookie- sync在另一个线程给了一些延迟然后loadUrl但它没有帮助.
所有类似的帖子似乎都有不起作用的解决方案.
谢谢.
更新:
我注意到setCookie用于提供多个Cookie,例如:
setCookie("MyCookie=value; Domain=mydomain.com; Path=/; Secure; HttpOnly; MySecondCookie=value2....)"
Run Code Online (Sandbox Code Playgroud)
只应用第一个,然后当服务器在其自己的域上运行重定向时它就消失了. 此问题可以在循环中一次一个地修复设置自定义cookie.
我暂时添加handler.proceed();了onReceivedSslError,我可以从日志中看到它在网站重定向之前触发并且Cookie在下一页丢失,onPageFinished安全cookie和无效证书链之间是否存在某种连接?
尝试使用不
sCookieManager.setCookie(url, value)
Run Code Online (Sandbox Code Playgroud)
但
sCookieManager.setCookie(cookieDomain, value)
Run Code Online (Sandbox Code Playgroud)
例如,您可以使用 chrome://inspect 找到 cookieDomain
工作示例:
String cookieDomain = ".www.drive2.ru";
String siteUrl = "https://drive2.ru";
webView = (WebView) getView().findViewById(R.id.web_view);
webView.setWebViewClient(new WebViewClient()); // force open any new url in same webview (whether it is user click or redirect)
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.setCookie(cookieDomain, "cookieName=cookieValue");
webView.loadUrl(siteUrl);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2467 次 |
| 最近记录: |