前两天,售后工程师找到我,反馈一个用户的bug:当我们的产品在企业微信中浏览附件的时候,无法打开。第一次听到这个问题的时候,我下意识想到前不久同事好像解决过类似的企业微信中无法浏览PDF的问题,当时还找我帮忙排查了一下,当时排查的结果是因为产品接入企业微信的时候,域名环境配置的有问题,引起用户其实在企业微信客户端使用时并没有相关SDK的使用权限,后来该问题通过重新配置企业微信相关配置进而获得SDK的权限而解决。
这次我下意识认为是相同的原因,所以让重新检查接入企业微信的相关配置。但是这次经过检查发现相关配置并没有问题,但是还是存在着无法预览文件的问题。只好由前端开始抓包排查。通过抓包发现同一条用户数据,在我们自己的APP中可以预览文件,同时,把抓到的URL放到浏览器中也同样可以下载成功,这样的话,这个Bug就有点意思了,很迷。
工作也快3年的前端狗了,解决问题的能力还是不够,经验跟1个月的一样。
抓请求,看请求头,返回值发现在安卓的企业微信上对文件的请求返回的response都没有值,http状态码也没有,后端小伙伴也不太知道原因,终极绝招---问大佬:大佬通过我们的描述就大概觉得用户的网络设置应该是有什么问题,通过客户端访问的user-agent不同,而进行相关的限制,这种感觉像是文件的请求被网关的安全设备给阻断了。 抓包的请求头中果然UA不一样,通过询问用户,发现用户在网络上配置了相关安全的软件,限制部门通过网络下载视频等行为。在用户停掉该服务后,安卓端企业微信预览文件可以正常进行了,好吧,找到问题所在了。
记录这个文章的目的在于:
- 3年工作,1个月经验,不能独立解决问题!
- 大佬就是大佬,依旧还未成为大佬,要善用抓包!
- 对网络和HTTP要进一步了解和深入。
- 不要还没到35岁就被优化!