无法更新/删除Android WebView的特定Cookie

时间:2019-01-10 11:40:34

标签: android cookies android-webview android-cookiemanager

我正在尝试删除域的特定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带有旧值。这是什么问题?

0 个答案:

没有答案