我们知道Fiddler是位于客户端和服务端之间的代理,它能够记录客户端和服务端的所有HTTP请求,可以针对特定的HTTP请求 分析请求数据、设置断点、调试web应用、修改请求数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试利器。
对request设置断点
1、通过菜单选项或快捷键F11进行设置,如下图
当我们设置断点后,进行HTTP请求,fiddler左侧就会有中断的标记,如下图,单击数据包可以看到右侧会增加一栏操作栏。这个时候我们前端是没有暂停状态,点击【Run to Completion】后可以返回响应数据
检测设置的断点是否生效,我们来实验一把。登录app,输入正确的手机号和密码,点击登录,我们断点设置为before request,然后清空密码,看服务器返回什么
再次验证(修改手机号)
由此可见,我们的断点已经设置成功,并且成功修改了HTTP的请求数据
2、通过菜单选项或快捷键进行设置时,会将所有的HTTP请求都设置断点,但有时我们只想针对某个服务器发出的请求设置断点,应该怎么操作呢?Fiddler是支持命令操作的,我们可以通过“bpu 服务器地址”命令来对特定的请求设置断点。
在下图所示的位置输入命令,然后回车运行。
这个时候从该服务器发出的所有请求都会被中断,而从其他服务器发出的请求可以正常响应。
如果要清除原来的断点,可以在命令行输入“bpu”,就会清除所有的断点。
对respose设置断点
1、同样的可以使用菜单选项After resposes或快捷键Alt+F11来设置
2、通过"bpafter 服务器地址"。通过设置断点修改响应数据,看前端是否是我们修改后的数据
以百度为例,修改响应数据“百度一下,你就知道”为“test百度一下,你就知道”
第一步:在命令行中输入bpafter www.baidu.com,然后回车使其运行
第二步:设置断点--菜单选项After resposes或快捷键Alt+F11
第三步:响应body解码-点击黄色区域进行body解码
第四步:修改title内容
第五步:点击Run to completion
2、在浏览器中查看服务器返回的数据
Fiddler解码
1、请求和响应数据解码
以百度登录为例
选中所有,选中后右键选择【send to TextWizard】,然后在【transform】中找到【URLDecode】,字段值就被成功解码