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否则在保存时就需要手动处理。

转载于:https://www.cnblogs.com/jason-blog/p/4239605.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值