测试时需要看一些特殊值时的页面表现,这时可以通过Fiddler在接口返回值前修改值再传回前端,查看特殊值的表现。
1.设置Fiddler可以监控https请求(百度一下,你就知道)
2.设置过滤(方便排除无关页面的接口)
3.在Rules里勾上After Responses,设置断点。表示在接口返回值后,前端拿到值前,拦截接口。
4.刷新页面,捕捉接口请求
被阻拦的接口,点右侧绿色按钮“Run to Completion”,让接口通过,直到阻拦到自己要捕捉的接口
①第1次捕捉到,先让他通过(这个是个options请求,不带数据)
②第2次捕捉到,双击接口,右侧点击Transformer(第二次捕捉到的接口带着数据)
③ 将GZIP改选为None,然后切至TextView修改值
(注意:之后要切回Transformer,将None改回GZIP ,然后点绿色按钮“Run to Completion”)
5.查看页面,发现页面上值已更改
6.完成后,断点设置为Disabled即可关闭断点
7.关于为什么捕捉接口时,有2个相同的接口,参考:
https://www.cnblogs.com/heioray/p/9392533.html
在某些情况下,普通的get或者post请求回首先自动发起一次options请求,当options请求成功返回后,真正的ajax请求才会再次发起。
基本思路就是server端在接收到请求的时候,先去判断下是不是 options请求 ,判断下来源,没问题的时候返回个200,再发请求数据的接口。
配置Fiddler, 允许"远程连接"打开Fiddler, Tools->Fiddler Options 。 (配置完后记得要重启Fiddler).
选中"Decrpt HTTPS traffic",Fiddler就可以截获HTTPS请求
选中"Allow remote computers to connect". 是允许别的机器把HTTP/HTTPS请求发送到Fiddler上来
获取Fiddler所在机器的IP地址
这个简单吧。 我Fidder所在的机器地址是: 192.168.1.104
IPhone上安装Fiddler证书
这一步是为了让Fiddler能捕获HTTPS请求。 如果你只需要截获HTTP请求, 可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址: 假如我安装了Fiddler的机器的IP地址是:192.168.1.100
2. 打开IPhone 的Safari, 访问 , 点"FiddlerRoot certificate" 然后安装证书
IPhone上配置Fiddler为代理
打开IPhone, 找到你的网络连接, 打开HTTP代理, 输入Fiddler所在机器的IP地址(比如:192.168.1.104) 以及Fiddler的端口号8888
大功告成,开始抓包
现在IPhone上的应用(比如Safari, firefox, itunes, App Store)发出的HTTP/HTTPS都可以被Fiddler获取。
实例: 打开Safari,
1. 输入 看看Fiddler能否捕获。
2. 输入 看看Fiddler能否捕获。
是不是HTTP和HTTPS都截获到了看看看看, 你不但能截获, 还可以下断点,修改Request, 修改Response, Do what you want.
用完了, 记得把IPhone上的Fiddler代理关闭, 以免IPhone上不了网。
只能捕获HTTP,而不能捕获HTTPS的解决办法
有时候会发现, Fiddler 只能捕获IPhone发出得HTTP请求, 而不能捕获HTTPS请求, 原因可能是证书没有安装好。 解决办法是:
1. 先把IPhone上所有的Fiddler证书删除 (拿出IPhone, 点地设置逗->逗通用地->"描述文件")
2. 安装上面的方法,重新安装Fiddler证书
首先,安装Mono环境,在Ubuntu环境下安装很简单,输入:
代理三步曲
服务端Fiddler设置
Tools->Fiddler Options如下,勾上Allow remote computers to connect,允许远程计算机链接!
可以选择只看自己感兴趣的服务器交互信息,设置过滤器Filters
oh了,爬爬爬~~~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)