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.