接口测试 手机通过 fiddler 抓包,有些请求为什么就得不到返回数据了

chopper · September 11, 2020 · Last by chopper replied at September 11, 2020 · 856 hits

前提:手机单独连接路由,app可以正常使用
手机和电脑连接在同一个路由器上,手机通过fiddler抓包,各项配置都正确,证书也安装了,
但是为什么手机app上的有些请求直接就得不到回复了,一些功能直接提示加载失败。
经过fiddler中转一下就不行了吗,是我电脑的问题还是fiddler配置的问题。
请教大神帮助。

最佳回复
chopper 回复

对的,可以尝试修改下

rules->customize rule里修改OnBeforeResponse,
添加
if(oSession.oRequest['User- Agent'].IndexOf('ios')>-1&&oSession.HTTPMethodIs('connect'))
{
oSession.oResponse.headers['Connection']='Keep-Alive';
}

共收到 7 条回复 时间 点赞

fiddler注意点

  • fiddler抓包在没有修改项目代码的前提下,Android7.0 以下和ios任意版本都可以抓包
  • ios版本在安装完证书之后,要开启信任证书设置
  • 如果在以上都不满足的前提下,建议检查下fiddler的证书是否正常,可以尝试重新导出新证书
  • 通常fiddler抓包,是抓去http和https等这些应用层的协议,tcp/udp这些可以用wireshark抓包
虫仔 回复

在测试公司的app,用fiddler后,有的页面可以正常加载,但有的页面和数据就提示加载失败

也许是http2的原因...目前很多工具都不支持Http2

chopper 回复

查看没有捕获到的接口,找看法问一下是用了什么协议,是不是有类似websocket之类的,这类没法捕获到的接口
报错问题,可能和协议有关

虫仔 回复

好多数据抓取到的method 都是connect,是因为这个引起的吗

chopper 回复

对的,可以尝试修改下

rules->customize rule里修改OnBeforeResponse,
添加
if(oSession.oRequest['User- Agent'].IndexOf('ios')>-1&&oSession.HTTPMethodIs('connect'))
{
oSession.oResponse.headers['Connection']='Keep-Alive';
}

虫仔 回复

还是不行。fiddler对于method是connect的,不仅抓不到包,还会导致app那边的请求也不能正常得到应答数据了吗。现在不要求fiddler能抓取到connect的数据,只要app能正常响应就行

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up