• webview cookie设置


    CookieSyncManager.createInstance(_context);
    CookieManager manager = CookieManager.getInstance();
    manager.setAcceptCookie(true);
    // manager.removeSessionCookie();
    StringBuilder builder = null;
    for (HttpCookie cookie : allCookies) {
    builder = new StringBuilder();
    builder.append(cookie.getName());
    builder.append("=");
    builder.append(cookie.getValue());
    builder.append("; path=");
    builder.append(cookie.getPath());
    builder.append("; domain=");
    builder.append(cookie.getDomain());
    manager.setCookie(XidibuyConstants.DOMAIN_XIDIBUY,
    builder.toString());
    Log.e(TAG, "cookie:" + builder);
    }
    CookieSyncManager.getInstance().sync();

    注意:

    1.// manager.removeSessionCookie(); 在某些android版本中会导致cookie保存失败。已知4.4没有问题,4.3有问题。

    2.服务器发送cookie,有时候希望发送一些值为deleted的cookie来覆盖已存在的cookie。

    但是有些服务器为了节省时间,会将发送过来的cookie只包含key和value,不包含path和domain。这种情况下,webview会认为是两个cookie,不会覆盖已存在的cookie。

    webview保存cookie时,需要覆盖的必需是key,path和domain都相同才会覆盖。

    所以一定要服务器发送包含key,path,domain的cookie否则在保存时就需要手动处理。

  • 相关阅读:
    #在蓝懿学习iOS的日子#Day10
    #在蓝懿学习iOS的日子#Day9
    #在蓝懿学习iOS的日子#第三个练习日
    #在蓝懿学习iOS的日子#Day8
    WCF基础:绑定(二)
    WCF基础:绑定(三)
    WCF基础:绑定(一)
    MVC框架中的值提供机制(三)
    MVC框架中的值提供机制(二)
    MVC框架中的值提供机制(一)
  • 原文地址:https://www.cnblogs.com/jason-blog/p/4239605.html
Copyright © 2020-2023  润新知