gpt4 book ai didi

android - CookieManager 中的多个 cookie

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:57 31 4
gpt4 key购买 nike

让我们为 cookie 存储做准备:

CookieSyncManager.createInstance(getApplicationContext());
CookieSyncManager.getInstance().startSync();
CookieManager.getInstance().setAcceptCookie(true);

然后我手动放置一些 cookie,比如说 PHPSESSIDRANDOM

CookieManager.getInstance().setCookie("domain.com", "PHPSESSID="+phpSession);
CookieManager.getInstance().setCookie("domain.com", "RANDOM="+random);

让我们检查它是否可以使用:

CookieManager.getInstance().getCookie("domain.com");

得到了

PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56; RANDOM=266284790:1466147978:c91d0896bac59e0b

一切看起来都不错,但是当我在 may app 中导航到 WebView Activity 之一时,它打开了相同域的网站并设置了 cookie,然后当我像上面那样打印 cookie 时,它​​看起来像这样:

PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56;
RANDOM=266284790:1466147978:c91d0896bac59e0b;
PHPSESSID=9ecb5156cf8fc3190fbc69fd13393243;
RANDOM=265078219%3A1463147975%3Ad0448d163e9b2123

重复条目...之后我再次手动设置,例如使用 setCookie 随机:

PHPSESSID=dba4ff392agd39b5951d10a91a0a7b56; 
RANDOM=111111111:2222222222:33333336bac59e0b;
PHPSESSID=9ecb5156cf8fc3190fbc69fd13393243;
RANDOM=265078219%3A1463147975%3Ad0448d163e9b2123

WebView 设置的值不会被覆盖,只有我“手动”输入...如何强制 WebView 使用我之前设置的 cookie 或覆盖已经设置的?

最佳答案

the MDN docs about Set-Cookie你可以看到许多不同类型的 cookie 值,一个 cookie 可以设置为特定的 Path

cookie-name=cookie-value; Path=path-value

并且在 CookieManager.setCookie void setCookie (String url, String value) 中,android reference说:

Sets a cookie for the given URL. Any existing cookie with the same host, path and name will be replaced with the new cookie. The cookie being set will be ignored if it is expired.

在我看来,您有重复条目的原因是因为 cookie 值位于不同的 Path 中。所以如果你想覆盖你应该确保主机路径名是相同的。

关于android - CookieManager 中的多个 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37212425/

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