以下是借鉴别人的知识分享。我在这里转载,如有冒犯,还请告知。
如何设置断点修改Request呢?
fiddler最强大的功能就是可以设置断点了。设置好之后,你可以修改HttpRequest的任何信息,包括host、cookie或者表单中的数据,设置断点有两种方法:
第一种:打开fiddler,点击Rules->Automatic Breakpoint ->Before Request (这种方法会中断所有的会话)
消除第一种命令:点击Rules->Automatic Breakpoint -> Disebled
第二种:在命令行输入命令:bpu www.baidu.com(这种办法只会中断百度的网页)
消除第二种的命令:在命令行中输入bpu
命令介绍:bpu在请求开始时中断,bpafter在响应到达时中断,bps在特定http状态码时中断,bpv/bpm在特定请求method时中断。
提示:命令输入区域输入help,回车执行会打开一页面详细介绍fiddler的所有命令。
也可以在菜单栏设置断点,是针对所有的会话请求,不大实用,建议用命令。
个人建议用第二种命令方法,可以具体中断自己想要中断的网页。第一种方法会中断所有页面请求,不太方便。
下面给大家举百度新闻查询框的例子(用bpu命令)
前提条件: 1、电脑装好fiddler4.0
2、fiddler信任证书已经导出并导进浏览器
3、正常联网
ps:以上条件是必须的,否则是不能抓包的。
操作步骤:
fiddler4.0版本 + 火狐浏览器 抓取 百度新闻页面的搜索框请求+用命令设置断点
1、打开火狐浏览器,进入百度新闻官网页面。
2、打开fiddler工具
这个提示是更新版本,如果已经配置好信任证书,就不需要升级。避免升级后,证书和浏览器不兼容。在这个地方,打开了浏览器之后访问不了外网,是因为你设置了代理的服务器,所以一打开fiddler救护开始进行页面抓取,解决办法就是关掉fiddler或者浏览器设置成自动代理,等需要抓取时,再设置成代理服务器。
3、在fiddler命令中输入bpu,按回车键执行:清除所有断点请求。回车后注意,就会清除所有的请求的断点了
4、在fiddler命令行中输入:bpu news.baidu.com 按回车键执行。意思就是只中断这个地址的请求信息
5、回到火狐浏览器,在搜索框中输入军事,然后点击百度一下:这个时候页面正在请求中,然后fiddler工具就会提示已经中断了这个地址的请求信息,浏览器页面不会有响应结果的,一直都是在请求中的。
6、到fiddler工具中,我们可以看到回话列表中,有一个红色图标的信息,意思是已经中断的请求。如果没有看到,可以稍等下,或者点击有关中断的地址,稍等一会儿就会显示了。若不显示,那就继续从第一步来开始操作吧。
7、双击那条红色图标的信息,然后右边会出现很多选择,根据箭头去点击
8、点击webfroms之后,可以看到这地址上的请求信息,第一个就是我们刚在搜索框中输入的军事,说明已经抓取到地址的信息了,这里不单单可以修改这个,还可以修改其他的。页面如下:
9、下面修改我们在输入框中的内容,将军事改为体育新闻,然后点击黄色的图标:
10、点击之后,此时页面已经有请求响应的数据了,但是还没有发送给浏览器
11、点击绿色图标,意思就是将请求发送到浏览器中:
12、此时,浏览器已经响应了内容,我们去浏览器就可以看到已经修改成我们刚修改的请求
至此抓取已经结束。这就是设置断点请求响应的内容。