【问题标题】:Android webview read cookiesAndroid webview 读取cookies
【发布时间】:2013-07-15 12:47:24
【问题描述】:

我有以下代码在 webview 中显示网页:

WebView myWebView = (WebView) findViewById(R.id.webView1);
myWebView.loadUrl("http://the.url.com");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

现在我想读取 webview 的 cookie。这可能吗?

【问题讨论】:

标签: java android cookies webview android-webview


【解决方案1】:

虽然有点晚了,但可能对某人有帮助

你可以通过这个获取cookie值

public String getCookie(String siteName,String CookieName){     
    String CookieValue = null;

    CookieManager cookieManager = CookieManager.getInstance();
    String cookies = cookieManager.getCookie(siteName);   
    if(cookies != null){
        String[] temp=cookies.split(";");
        for (String ar1 : temp ){
            if(ar1.contains(CookieName)){
                String[] temp1=ar1.split("=");
                CookieValue = temp1[1];
            }
        }              
     }
     return CookieValue;    
}

编辑

注意事项:

如果您正在加载像http://sitedomain.com 这样的URL(没有www),带有wwwsiteName 将无法使用此方法。

【讨论】:

  • Cookie 名称不用大写!! @NicolaeSurdu
  • 抱歉,查看历史记录太累了。编辑了答案以反映当前状态。
  • 一个很好的解决方案,但不正确。你不应该用“=”分割一个cookie,因为它的右边部分也可能包含“=”。所以,你应该只用split("=", 2)将左右部分分开一次。
  • 如果您只想检索第一个,我认为您在找到它后需要休息一下。
  • 我需要帮助来获取包含 www 的 url (dailymotion.com) 的 cookie
猜你喜欢
  • 2011-08-09
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
  • 2016-08-30
  • 1970-01-01
  • 2018-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多