一、通过设置断点手动修改
打开Fiddler-> Rules-> Automatic Breakpoints,点击【Before Responses】。
此时设置的断点对所有HTTP请求有效。在浏览器发送请求之后,修改请求的数据,再通过fiddler发送给服务器。
设置完成后,在浏览器触发请求,会看到请求在发送前被fiddler拦截。
找到被拦截的请求,修改WebForms中对应要改动的参数值(图中wd从123修改为hello),然后点击【Run to Completion】,通过浏览器或fiddler可以看到请求被成功修改,请求接口返回的是修改后的响应内容。
如果要取消断点,Fiddler-> Rules-> Automatic Breakpoints,点击【Disabled】,则所有请求都不会再被拦截。
此外,也可以通过bpu命令行的方式,仅对特定URL进行拦截并修改请求:
构造断点:输入bpu+空格+URL,回车
取消断点:输入bpu,回车
二、通过urlreplace命令行修改
在fiddler左下角使用命令行urlreplace,可以实现自动替换http请求url中的wd参数,该方法对get请求有效。
urlreplace wd=123 wd=hello
撤销替换:命令行输入urlreplace并回车
三、使用插件FreeHttp实现自动替换
FreeHttp是一个fiddler插件,使用它可以方便灵活地实现自动替换http请求参数。
1、下载安装FreeHttp
下载FreeHttp(地址可以网上自行搜索),将FreeHttp.dll文件放到fiddler安装目录下的Scripts文件并重启fiddler,则可以在fiddler右侧看到Free Http界面。
2、通过Url Filter设置目标url
FreeHttp提供了几种常用的匹配方式来设置目标url,比如Contain、StartWith、正则表达式等。
把url中的参数进行替换,比如wd参数内容从123替换成hello,保存并开启(右侧按钮绿色表示开启)
被命中的接口在接口列表中样式会加粗并区分颜色,可以看到修改请求已经生效:
以上是简单的替换url中参数,FreeHttp还支持修改post请求中的body,比如:
另外,还可以添加多条Request Rule,从而实现动态替换请求接口中的多个参数,非常灵活。