Fiddler是我们用来做调试的利器,特别是在需要替换远程服务器上的文件的时候。这里只是简单的说几个功能点。
1,窗口简单介绍。
2,Fiddler的快捷键。
3,Fiddler的替换方法。

先看看Fiddler的平面截图:

左侧窗口:

左侧是回话列表,所有的http请求,https请求都会排列出来。

右侧窗口:

Stastics:统计选中的一个或多个请求相关数据,大小、耗时

Inspectors:多种方式查看Request或者Response的详细消息

AutoResponder: 设置一些规则将符合规则的请求指向本地。

Composer:创建发送HTTP请求

Filters:设置会话过滤规则,

Log:日志

Timeline:网络请求时间

Fiddler的快捷键:
1,ctrl + x。或命令框里输入命令:cls。该快捷键是清除抓取的http请求地址。
2,ctrl + alt + F。将Fiddler,从后台呼唤出来。
3,Alt + Q。焦点定位到命令输入框中。
4,Ctrl + I。全选。
5,Shift + Del。全删除。
6,Ctrl + X。清理左侧面板。
7,F6。最大化右侧区域。

命令输入区域如下图:

Fiddler的替换方法:
在AutoResponder的列表下。我们可以创建想要替换文件的路径。完全用本地文件来代替需要从服务器下载的文件。

这个对于跟踪调试远程服务器上的文件非常有效。比如在A域名下有个vote.swf文件,在本地你做了功能的修改。你想知道功能修改后的vote.swf的文件效果,而又不想上传到远程服务器上去。这个时候,就可以Fiddler设置用本地的vote.swf替换远程服务器上的vote.swf就可以。 仅仅设置下替换的url就能达到这个效果。

下边说下匹配原则。
EXACT表示完整匹配URL时,才进行映射处理。
regext:(?insx)表示可以使用正则来匹配哪些URL需要进行映射处理。

完全匹配是最简单最方便的设置。如上边平面截图AutoResponder列表下。

还有一种,如果文件后边跟动态参数时,就需要用正则来匹配映射了。如图:

regex:^http://www.vini123.com/ishow/index.swf\?(?.*)$

这样,和之对应的url可以匹配任意的http://www.vini123.com/ishow/index.swf>id=random这种情况了。

下边,再简单说下和前端开发调试密切相关的:
使用AutoResponder本地调试文件。请参考如何直接调试线上页面的JavaScript和CSS.
使用QuickExecBox快速操作。请参考QuickExec Reference. 推荐熟练掌握的命令:?sometext, bpu, go, urlreplace. 快捷键:Alt + Q, Ctrl + I, Shift + Del, Ctrl + X, F6.
使用Filter过滤信息。比如禁用JS, 设置断点等等。
使用bpu + Inspectors动态修改Response. 比如修改页面中的JS代码片段等等,非常有用。
使用Request Buidler测试请求。可以很方便的测试ajax代码。
使用Statistics + Timeline + neXpert查看性能等统计数据。
使用CustomRules, 自定义配置和命令等。比如修改var m_DisableCaching: boolean = false;的值为true, 就可以默认禁止缓存。还可以自定义命令等等。
开发自己的扩展。请参考Extending Fiddler with .NET Code.