![](http://www.aliued.cn/wp-content/uploads/2010/04/FiddlerLogo.png)
1. Fiddler 是什么?
Fiddler是用C#编写的一个免费的HTTP/HTTPS网络调试器。英语中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一样,可以让前端开发变得更加优雅。
Fiddler是以代理服务器的方式,监听系统的网络数据流动。运行Fiddler后,就会在本地打开8888端口,网络数据流通过Fiddler进行中转时,我们可以监视HTTP/HTTPS数据流的记录,并加以分析,甚至还可以修改发送和接收的数据。Fiddler还提供了清除IE缓存、请求构造器、文本转换工具等等一系列工具,对前端开发工作很有价值。
2. 下载和安装Fiddler
- 安装.net framework 2.0以上版本
- 从官方网站免费下载Fiddler。
Firefox中用Fiddler,可以下载一个插件:Fiddler开关
3. Fiddler的界面和功能
列表
左侧是数据列表,以不同的图标区分数据类型和状态,以下是图标对应的含义:
![]() | 正在将请求数据发往服务器 |
![]() | 正在从服务器下载返回数据 |
![]() | 请求过程中暂停 |
![]() | 返回过程中暂停 |
![]() | 请求中使用了HTTP HEAD方法; 返回中应该没有body内容 |
![]() | 请求中使用了HTTP CONNECT方法,建立HTTPS连接通道 |
![]() | 返回的内容类型是HTML |
![]() | 返回的内容类型是图片 |
![]() | 返回的内容类型是Javascript |
![]() | 返回的内容类型是CSS |
![]() | 返回的内容类型是XML |
![]() | 普通的成功的返回 |
![]() | 返回内容为 HTTP/300,301,302,303 or 307 跳转 |
![]() | 返回内容为HTTP/304: 使用本地缓存 |
![]() | 返回内容为一个证书请求 |
![]() | 返回内容是服务器错误 |
![]() | 请求被客户端、Fiddler或服务器中断 |
查看器
![](http://www.aliued.cn/wp-content/uploads/2010/04/fiddler-779.png)
利用查看器提供的很多形式,我们可以查看数据流的内容。
请求构建器(Request Builder)
![](http://www.aliued.cn/wp-content/uploads/2010/04/fiddler-815.png)
可以创建任意数据的请求
过滤器
![](http://www.aliued.cn/wp-content/uploads/2010/04/fiddler-834.png)
过滤器可以对左侧的数据流列表进行过滤,我们可以标记、修改或隐藏某些特征的数据流。
AutoResponse功能
![](http://www.aliued.cn/wp-content/uploads/2010/04/fiddler-894.png)
这个功能可以算的上是Fiddler最实用的功能,可以让我们修改服务器端返回的数据,例如让返回都是HTTP404或者读取本地文件作为返回内容。我们将在实例中介绍利用AutoResponse功能。
文本编码和解码
![](http://www.aliued.cn/wp-content/uploads/2010/04/fiddler-1003.png)
提供了常用的一些文本编解码的转换。
此外,还可以对两个数据流进行比较
![](http://www.aliued.cn/wp-content/uploads/2010/04/fiddler-1041.png)
Fiddler可以保存和打开“SAZ”格式的文件,这样就可以将监听到的数据流保存下来,下次再重新打开分析。可以利用FiddlerCap——一个专门用来录制保存SAZ的小工具——保存SAZ文件。SAZ文件可以设置密码保护,比较贴心。