一、简介
今天介绍一下 Fiddler Classic 对 HTPP 的过滤、重放、转发等功能操作,这在开发中,尤其在微服务中调试中是经常用到的功能,可以大大提高我们的调试效率。
二、开关
在 Fiddler Classic 的左下角,点击 Capturing 进行开关。显示 Capturing 时为开,无显示是为关。
三、转发 HTTP 请求
转发 HTTP 请求,是指当一个请求 A 经过 Fiddler,转发到请求 B 的功能。Fiddler 设置请求的转发有两种方式:一种是经过脚本,另一种直接在 UI 设置,而常用的是脚本方式。
例如:请求的地址是 192.168.1.10/Get/Data,想把他转到 localhost:5000/Get/Data,通过这个案例进行讲解
首先,点击 Fiddler 工具栏的 FiddlerScript 菜单,可以进入脚本编辑页面
在打开的 Fiddler ScriptEditor 窗口中,使用 Ctrl+F 找到 OnBeforeRequest 方法
在 OnBeforeRequest 方法的末尾,添加下面代码,主要是对 url 的替换。如下:
if (oSession.url.IndexOf('192.168.1.10/Get/Data/')>-1){
oSession.url =oSession.url.Replace('192.168.1.10/Get/Data/','localhost:5000/');
}
四、重放 HTTP 请求
重放 HTTP 请求,使用的是 Fiddler 的 Composer 功能。 可以看做是在 Fiddler 中集成了一个 Postman 功能,我们来看看此工具如何使用。
首先,捕捉请求。在浏览器范围 一下 http://192.168.88.146:8082/hello ,这是我这内网环境的 api,可根据自己的实际的 api 进行访问
然后,看 Fiddler Classic ,可以看到,捕捉到了刚刚访问的连接
接着就可以重放 HTTP 请求啦,首先点击 “Composer ”,然后讲左边的请求拖到右边,再点击 execute 即可重新发出一个请求
五、过滤 HTTP 请求
Fiddler Classic 开启捕捉后,会监听所有的请求,在大多数情况下,我们只需要监听部分请求,此时可以使用 Filters 功能去控制,设置好了后一定要点击 Actions -> Run Filterset Now 才能生效
5.1 指定显示
指定显示,是通过指定的域名白名单列表,捕捉列表只展示再白名单内的。首先点击 Filters ,勾选 Use Filters,再选择 show only the flowing hosts ,那后再输入指定的域名(格式 192.168.88.146;www.baidu.com;*.bing.com)。
这里我们指定了 192.168.88.146;www.baidu.com;*.bing.com 三个域名,其中 *.bing.com 是模糊匹配。
5.2 排除显示
排除显示恰恰媳妇,是通过指定的域名的名单列表,进行排除。首先点击 Filters ,勾选 Use Filters,再选择 hide the flowing hosts ,那后再输入指定的域名(格式 192.168.88.146;www.baidu.com;*.bing.com)。
六、展示更多信息
显示 IP,首先打开 fiddler 软件,按 ctr+r 或者 菜单 Rules–Customize Rules,找到 static function Main(),添加显示 IP 脚本。如下:
FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");