IT开发知识库 - 立志做成最实用的开发手册!
大神 413 宝贝 个人信息 搜寻 100分 总有 actionform 解决办 系统 ui的动画提 到服务 动态 咋回 csdn 访问 看下 方案 数据重新加载 提供 淘宝 weblogic.xml 大数据 Selenium java版 firefox mapapi 中gird 首页 挖掘input 自定义后 元素定位的 相关信息 ide ge 较高 做什么 重复请求 管理系统 一款基于jquery 如何控制 nginx 生了 下载 一个应用 eclipse的 Text 发展 稳定 提示 怎么连接 3 仿照 (一)
当前位置: 开发知识库 > WEB开发 > Web前端 > android WebView 跟 HttpClient cookie同步

android WebView 跟 HttpClient cookie同步

时间:2015-03-16来源:未知 作者:admin点击:
android WebView 和 HttpClient cookie同步 首先android5.0 实现了WebView与 框架的自动cookie同步,无需额外操作。 5.0一下版本需要手动同步cookie 方法如下 pre name=code class=javaCookieSyncManager.createInstanc
android WebView 和 HttpClient cookie同步

首先android5.0 实现了WebView与 框架的自动cookie同步,无需额外操作。

5.0一下版本需要手动同步cookie

方法如下

<pre name="code" class="java">CookieSyncManager.createInstance(context);
    CookieManager cookieManager = CookieManager.getInstance();
    cookieManager.setAcceptCookie(true);
    cookieManager.removeAllCookie();
    List<Cookie> cookies = new PersistentCookieStore(context).getCookies();
    for (Cookie cookie : cookies) {
      //注意这里为什么放肆的写了个cookie.getDomain(),而不是像api里边说的url,类似baidu.com如果是域名,直接设置“baidu.com“,
      cookieManager.setCookie(<span style="color:#ff0000;">cookie.getDomain()</span>,  cookie.getName() + "=" + cookie.getValue() + "; domain=" + cookie.getDomain() + "; path=" + cookie.getPath());
    }
    CookieSyncManager.getInstance().sync();


这涉及到了cookie的知识,设置cookie时,会先检测cookie的Domain是否和url网址的域名一致,如果不一致设置cookie失败。

所以url在里边起到作用,就是检测Domain域名, 设置在这个域名下的所有url的请求的cookie。

如果是设置一个设置二级的url,反倒不容易理解。

看看google api注释:

  /**
     * 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
     * must not have expired and must not be a session cookie, otherwise it
     * will be ignored.
     *
     * @param url the URL for which the cookie is set
     * @param value the cookie as a string, using the format of the 'Set-Cookie'
     *              HTTP response header
     */
    public void setCookie(String url, String value) {
        throw new MustOverrideException();
    }
  url the URL for which the cookie is set ,如果不了解cookie的原理,这让解释更容易让读者理解为,只是设置了这个子url的cookie 

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关内容
推荐内容