Fiddler是Windows底下最强大的请求代理调试工具。监控不论什么浏览器的HTTP/HTTPS流量,窜改client请求和server响应。解密HTTPS Web会话,图4.44为Fiddler原理示意图。
图4.44 Fiddler原理示意图
Fiddler安装的系统要求为Windows XP或Windows 8中的版本号。当中Fiddler2依赖于Microsoft.NET Framework 2.0,最新的Fiddler4依赖于Microsoft.NET Framework 4.0。
Fiddler功能非常多,在这里介绍一项最经常使用的代理功能。
假使在维护的站点线上有个功能出现脚本问题。这时候採用传统的方法,将网页内容完整的保存到本地,然后调试相应的代码,非常显然这样的方法显得特点笨重,Fiddler解决问题显得游刃有余。
要做的是,将相应问题脚本保存到机器本地,改动脚本并通过Fiddler代理。以下通过一个百度首页的操作演示样例演示该过程。
(1)开启Fiddler,选中其右側“AutoResponder”标签页,勾选“Enable automatic responses”和“Unmatched requests passthrough”复选框,如图4.45所看到的。
图4.45 开启Fiddler
(2)打开Chrome浏览器,在地址栏内输入“http://www.baidu.com”并按Enter键进入。此时百度首页的请求会被完整的显示在Fiddler左側的列表中,如图4.46所看到的。
图4.46 百度首页请求列表
(3)选中列表中的第5条请求(该请求为JavaScript脚本)。在该请求上方单击并拖动至右側“AutoResponder”标签页下方空白的列表中,如图4.47所看到的。
图4.47 代理一条脚本请求
(4)复制第5条请求的URL地址。使用浏览器打开并将脚本内容保存到机器本地目录
(5)在刚才保存的脚本末尾加入1行代码:
document.body.style.backgroundColor='black' // 改动页面背景色为黑色
(6)改动Fiddler右側“AutoResponder”标签页下方列表的“then respond width..”列,将其指向本地保存的脚本代码地址。如图4.48所看到的。
图4.48 改动请求的本地代理地址
(7)打开Chrome浏览器,在地址栏内输入“http://www.baidu.com”并按Enter键进入,此时百度首页变为黑色。Fiddler代理成功。