我正在尝试删除域的特定cookie,这似乎是不可能的。
在onPageFinished
的网络视图中,我可以看到cookie和相关的URL。
我正在使用以下代码删除Cookie:
CookieManager cm = CookieManager.getInstance();
final String url = "https://server.com/foo/index.html?bar=1"; // this is the URL is see in the `onPageFinished`
String cookiesString = cm.getCookie(url);
String [] cookies = cookiesString.split(";");
for(String cookie:cookies) {
String[] cookieParts = cookie.split("=");
if(cookieParts.length <= 0) {
continue;
}
if(cookieParts[0].trim().equals("xxxcookiename")) {
cm.setCookie(url, cookieParts[0] + "=0;");
}
else {
cm.setCookie(url, cookie);
}
}
cm.flush();
这是在URL的Cookie中附加一个“ xxxcookiename = 0;”。它不会替换/更新值为“ = 0”的现有副本。
我也尝试过使用==,并且它也不能替代它。
我也尝试过使用https://server.com/foo/index.html和https://server.com/foo。
基本上,如果我在刷新后立即调用cm.getCookie(url);
,则会得到与之前相同的Cookie字符串,并附加了xxxcookiename=0;
,原始xxxcookiename
带有旧值。这是什么问题?