gpt4 book ai didi

Android CookieManager setCookie 没有设置任何东西

转载 作者:可可西里 更新时间:2023-11-01 18:48:03 25 4
gpt4 key购买 nike

在我的应用程序中,我从 HttpGet 请求中获取两个 cookie,并将它们存储在 CookieManager 中,如下所示:

//Clear old cookies
CookieManager.getInstance().removeAllCookie();
CookieSyncManager.getInstance().sync();

//Save the two cookies: auth token and session info
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
String cookieString = cookie.getName() + "=" + cookie.getValue() + "; Domain=" + cookie.getDomain();
CookieManager.getInstance().setCookie("http://alpha.mydomainname.com", cookieString);
}

System.out.println(CookieManager.getInstance().hasCookies()); //Prints false in 2.3, true in 4.0.3

CookieSyncManager.getInstance().sync();

System.out.println(CookieManager.getInstance().hasCookies()); //Also prints false in 2.3 and true in 4.0.3
}

我在两个不同的设备上测试相同的代码,有趣的是,cookie 在 4.0.3 中正确设置(并且也在应用程序启动之间传输),但在 2.3.3 中没有。当我说它们未设置时,我的意思是当我提供 URL 时 hasCookies() 返回 false 并且 getCookie() 返回 null。

调用 setCookie 时,我尝试了 Cookie URL 的所有可能组合:“http://alpha.mydomainname.com”、“http://www.mydomainname.com”、“http://mydomainname.com” "、"mydomainname.com"、"alpha.mydomainname.com"、".mydomainname.com"、"www.mydomainname.com",它们都不起作用。请帮忙。

最佳答案

我最近遇到了类似的问题,以下解决方案对我有用。我在开始时创建/获取 CookieSyncManager 和 CookieManager 的实例,并在整个代码中使用它们,而不是再次创建新实例。我还必须尝试在正确的域上设置 cookie - 我必须将它设置为出现在其中一个重定向中的域。

final CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(context);
final CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
cookieManager.removeSessionCookie();

//Save the two cookies: auth token and session info
List<Cookie> cookies = httpclient.getCookieStore().getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
String cookieString = cookie.getName() + "=" + cookie.getValue() + "; Domain=" + cookie.getDomain();
cookieManager.setCookie("http://mydomainname.com", cookieString);
}
cookieSyncManager.sync();
}

关于Android CookieManager setCookie 没有设置任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11700310/

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