fiddler如何看

fiddler界面

首先看下fiddler的页面,除了最上面两行的工具栏和菜单栏,本次介绍fiddler界面的其余的6个板块。

fiddler 跟踪java本地请求 fiddler查看请求与返回_数据

板块1:主要查看请求的一些基本信息

如#(请求编号及类型)、result(返回的状态码)、protocol(请求类型http/https)、host(请求的主机域名)、url(请求的路径,这里能看到我们测试会提到的接口)等。

这里显示的栏目是可编辑的,比如我想直观看到我这一条请求是get请求还是post请求,想看到我请求的IP地址是多少,可通过如下三步实现:

1.打开Rules->Customize Rules(或直接通过ctrl+R打开),进入Fiddler ScriptEditor页面。

fiddler 跟踪java本地请求 fiddler查看请求与返回_fiddler_02

2.使用ctrl+F找到static function Main(),并在里面添加如下脚本:

fiddler 跟踪java本地请求 fiddler查看请求与返回_数据_03

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
             FiddlerObject.UI.lvSessions.AddBoundColumn("HTTPMethod",60,getHTTPMethod );
static function getHTTPMethod(oS: Session){
              if (null != oS.oRequest) return oS.oRequest.headers.HTTPMethod; else return String.Empty;
             }

3.添加完直接关闭CustomRules.js即可,再重启一下fiddler,就能看到每一条请求能直观看到它的HTTPMethod和ServerIP。

板块2:这一块会话框展示的就是fiddler获取的数据包,选中某一条,可以在右侧看到该条请求的详细信息,对该条请求点击右键,如下图所示。

fiddler 跟踪java本地请求 fiddler查看请求与返回_数据_04

介绍几个经常用到的:

Decode Selected Sessions:将选中的session解码,我们要看请求的详细信息,就必须先解码,否则看到的都是乱码符号。

Copy:可以选择复制这条请求的URL或header或整条session。

Save:可以保存选中的一条或若干条请求,也可以单独保存request或respond信息,保存下来的完整请求,可以直接拖进来,就能直接看到了。

Filter Now:可以隐藏这一条session包含的url,host等。

Mark:可以对这一条session进行标记,使其字体变粗变色,便于查看。板块3:命令行

命令行这一块,目前我用的最多的就是断点拦截。包括Bpafter,bpu等,这几个命令主要用于批量设置断点。

Bpafter : 中断 URL 包含指定字符的全部 session 响应,在服务端返回数据之后,到达客户端之前拦截,通常用于修改客户端所展示的信息。

例如:在命令行输入bpafter http://xxx.xxx.com/show/xxx,回车

再次请求该命令,可在会话框看到该请求被拦截,在右侧可以修改或选择传给客户端的信息,修改完成后可点击Run to Completion。此时在客户端就能看见我所修改过的信息了。

在命令行直接输入bpafter,会清空所有设置了断点的HTTP请求。

fiddler 跟踪java本地请求 fiddler查看请求与返回_fiddler_05

bpu:和bpafter类似,但拦截时机是在请求发送给服务端之前,用于修改客户端传送给服务端的数据。

fiddler 跟踪java本地请求 fiddler查看请求与返回_客户端_06


板块4:这一板块用的很多

statistics可以查看请求的性能信息

autoresponder可以设置指定请求的返回数据

composer可以自己发送请求(和postman一样)

filter可以过滤显示在会话框的请求等

Inspectors主要是用于查看请求的各个细节,一个请求分为两部分:Request是客户端发出去的数据,Response是服务端返回过来的数据

板块5:这一块就是选择的请求的发送数据的详细信息
headers:请求头,这里包含client、cookies、transport等
webfroms:这是在看请求的数据时要重点查看的一项,里面将请求参数信息使用表格展示,更直观。可以直接将请求拦截后,修改请求参数,以检查服务端返回的数据
Auth:授权相关,如果现实如下两行,说明不需要授权

No Proxy-Authorization Header is present.
No Authorization Header is present.

cookies:查看cookie详情
raw:查看一个完整请求的内容,可以直接复制
json:查看json数据
xml:查看xml文件的信息,上面这三个可根据实际请求的情况查看不同的类型信息

板块6:这一块展示的是我们所选中的请求从服务端返回的信息
大概信息与request差不多,在这一块一般重点关注的就是raw和json信息,里面能看到从服务端返回的详细的data。