gpt4 book ai didi

android - 在 WebView android 中设置 Cookies

转载 作者:可可西里 更新时间:2023-11-01 19:06:16 25 4
gpt4 key购买 nike

我正在尝试在我的 WebView 上设置一些 cookie,以使用与我的应用程序相同的 session 打开浏览器。

我阅读了很多答案,但它们对我不起作用。我找到的唯一解决方案是在 loadUrl 中,将 cookie 数据硬编码在 extraHeaders 中,但正如预期的那样,这仅适用于此请求,并且不会维护 session .

我的代码是:

CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(mWebView.getContext());
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();
cookieManager.setCookie("http://xx.xxx.example.com","mid="+MySession.GetSession().sessionId+" ; Domain=.example.com");
cookieSyncManager.sync();

String cookie = cookieManager.getCookie("http://xx.xxx.example.com");

Log.d(LOGTAG, "cookie ------>"+cookie);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new TuWebViewClient());
mWebView.loadUrl("http://xx.xx.example.com");

getCookie() 返回正确的数据,但是当我从服务器读取 cookie 时,它​​们是空的。怎么了?请指教。谢谢!!!

最佳答案

解决了!!!!问题出在 webView 上,我不知道发生了什么,但是如果我创建了

WebView webView = new WebView(Activity.this);

它有效。如果我使用 findViewById() 从 Activity 中读取 webview,它就不起作用。

此外,如果您需要设置您之前从网站收到的 cookie 列表。您所要做的就是使用 for-loop 遍历并设置所有这些。它帮助我解决了这个问题

关于android - 在 WebView android 中设置 Cookies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com