webview收不到服务端的cookie

在Android项目中,发现Webview加载的新闻详情页评论功能存在问题:评论后刷新页面未显示新评论。通过抓包分析,排除了缓存、前端错误的可能性,最终定位到Android 5.0及以上版本WebView默认不接受第三方Cookie。解决方法是设置WebView允许接收第三方Cookie。
摘要由CSDN通过智能技术生成

昨天项目中碰到了一个bug,我们的客户端webview加载了我们的一个新闻详情页,在详情页里面发表一条评论,但是刷新页面后,刚才发表的评论却没有显示在评论列表里。

第一直觉,用其他的浏览器试试这一流程,发现没有问题。

这就奇怪了,难道是webview的设置有问题吗?但是因为不知道新闻评论这个功能的前端后端逻辑,随便修改webview的设置只能是盲人摸象,乱改一通,就算改好了可能也不知道为什么这样改就可以了。

本着科(zhuang)学(bi)的精(yu)神(wang),我先仔细想了想几个可能导致bug的疑点:
1.使用了网页缓存,所以导致没有看到新的评论
2.发表的评论上传失败了
3.请求评论列表出现错误

一开始以为使用的缓存页面,所以没有刷出来评论,可用fiddler抓包发现2个现象:
1.发表评论的时候,ajax请求返回的json,errorcode=0,这说明上传评论是成功的;
2.刷新页面确实重新请求了评论列表,返回的json,errorcode=0,说明请求列表也是成功的,但是居然不包含刚刚发的评论!

抓包可以说明两件事:
1.基本可以排除是本地缓存导致的问题
2.极有可能是后端出了问题

所以找了下后端的开发,了解了下评论逻辑。上传的评论一般都需要审核(人工审核),但是为了能在审核之前让用户可以马上看到自己刚发表的评论(防止以为是个bug),所以在服务端把刚评论的message种到了cookie里面,只要拿到cookie就可以显示出评论了。

然而抓包过程中,并没有发现服务端发送任何cookie࿰

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值