用Fiddler设置断点修改接口返回值

来源:互联网 发布:著名网络小说家排行榜 编辑:程序博客网 时间:2024/05/22 05:20

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话),消除断点的方法,点击Rules-> Automatic Breakpoint ->Disabled。

1.Fiddler连上手机,开始抓包(手机设置代理,ip写本电脑IP,端口写8888)

2.打开Fiddler,设置断点:Rules-Automatic Breakpoints-After Responses

3.用手机请求接口

4.选中那条请求,然后点Transformer这个Tab,取消勾选“Chunked Transfer-Encoding”

5.点TextView,修改接口的返回值,比如文本什么的

 

6.点Transformer这个Tab,勾选上“Chunked Transfer-Encoding”

7.在左下角输入区域输入“go”,然后回车

8.在手机上观察,会看到修改后的返回值。

注意:4-7步骤尽量快一些,有时候慢了,请求就超时了。也可以请开发暂时增大超时时间,如果有必要的话。


第二种: 在命令行中输入命令: bpu http://www.qq.com,这种方法只会中断http://www.qq.com,消除断点的方法就是在命令行中输入命令 bpu。

以bpu为例演示断点功能:

(1)以淘宝无线H5为例,在浏览器打开m.taobao.com首页。

(2)在Fiddler命令行输入区输入“bpu”回车执行清掉原有的断点,然后输入“bpu m.taobao.com/search.htm”回车执行,接下来就会中断URL中包含此地址的请求。

(3)在浏览器淘宝首页顶端搜索框输入“充气娃娃”后点击搜索,此时请求被中断,在Fiddler会话列表面板看到以红色小图标开头被中断的会话

(4)点击会话列表中被中断的会话,依次进入Inspectors-->WebForms。此时请求并未发出,q参数即为查询关键字,我们修改为“nike”,然后点击“Break on Response”按钮。注:在这里实现修改了请求数据,其它的post数据,甚至是headers里的cookie、referer、user-agent等都可以修改。

(5)右边面板Response区有响应内容了,这时Fiddler再次中断了response,响应已到达Fiddler代理,但还没返回给浏览器。点击Inspectorsg下Response区的“response is encoded and may need to decoded before inspection.Click here to transform”后,即可在TextView tab看到返回的html内容。在这里修改response中的title部分,然后点击“Run to Completino"把修改后的response返回给浏览器。

(6)回到浏览器,搜索出关键字为“nike”的结果,而不是“充气娃娃”,标题也被修改为“搜索充气娃娃”。

其他:

  • 命令行输入 go 会断续执行所有中断,再次输入 bpu 会清除所有的断点。

  • 如上第四点图所示,这里有很多的操作选择,就是选择输出内容,选择之后,实际的响应数据就会这些替代,特别是最后一个find 操作a file:这个我们可以中断一个图片,然后这里选择本地的一张图片,这样我们就可以替换页面的图片。比较强大的场景就是例如现网js出了问题,但是一般现网的js是压缩过的,在firebug中根本无法调试,这样我们可以把它映射到本地的一个原始版本,这样firebug就会拿到一份原始的js,就可以方便的调试了。




0 0
原创粉丝点击