参考网址:
http://caibaojian.com/fiddler.html
http://www.cnblogs.com/tangdongchu/p/4178552.html
1.fiddler过滤会话
问题:每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。
期望:只想抓取自己想要的请求
步骤:
在Filers面板中勾选“Use Filters”,并在Hosts区域,设置以下三个选项:
1).第一项有三个选项,分别是 “No zone filter” “Show Only Intranet Hosts” “Show Only Internet Hosts”,不做更改;
2).第二项有四个选项,分别是:
No Host Filter”不设置hosts过滤 “;
Hide The Following Hosts”隐藏过滤到的域名 ;
“Show Only The Following Hosts”只显示过滤到的域名;
“Flag The Following Hosts”标记过滤到的域名;
选中“Show Only The Following Hosts”,在文本框内输入需要过滤的域名,多个域名使用”;“分号分割。fiddler默认会检查http头中设置的host,强制显示http地址中德域名。以“www.kugou.com”为例:
2.Response乱码时的处理方法
问题:有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。
步骤:方法一:点击红框内容“Response body is encouded.Click to decode.”
方法二:选中工具栏中的"Decode"。 这样会自动解压缩。
3.反向代理-AutoResponder
原理:利用fiddler作為反向代理。意思就是将外界的request请求端口修改掉! 改写返回数据,最实用的功能!!!
步骤:
1)、用浏览器随意输入一个网址,如http://www.baidu.com/
2)、选中序号16记录,右击-勾选“Unlock fo Editing”,选择Fiddler右侧reponse块下的TextView,这里修改title,如图:
3).选择Fiddler右侧reponse块下的TextView,这里修改title,如图:
4)、去掉“Unlock for Editing”,再选择右侧上方的AutoResponder,勾选下方的checkbox选框,并将序号16托到下方,同时,里面会多条记录,如下图:
5).回到浏览器,刷新页面,如图,标题变为上面改的内容
4.fiddler提供了一个功能,让我们模拟低速网路环境…启用方法如:Rules → Performances → Simulate Modem Speeds
5.自己定义Modem Speeds 究竟要多快…点开Rules → Customize Rules
在客户端开发中,常常需要对一些特殊情况做处理,比如404、503等,又比如服务返回错误数据等。而测试这些情况会比较麻烦,往往都是找开发人员配合修改代码,这样效率不高。
接触到Fiddler之后,这样的情况一去不复返,我们可以很方便的通过Fiddler自带的AutoResponder工具模拟http响应。Fiddler的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。
下面来看教程:
1. 首先抓取客户端的http请求(参考另一篇文章Android/IOS手机使用Fiddler抓包和https://blog.****.net/qq_15283475/article/details/62224149)
2. 打开Fiddler 找到AutoResponder
3. 选择Enable automatic reaponses 和Unmatched requests passthrough
4. 选中左侧捕捉到的http请求,然后点击Add Rule
5. 在下面的Rule Editor 下拉选择要模拟的响应类型,200、404、502等(也可以自己创建Response,选中Create New Response...,如果是要替换掉某些页面文件,选中Find a file). 最后点击Save 保存下。
6. 建立规则后,向原url的请求,就变成了你所指定的响应,再去请求一下原url就能看到效果。
其中链接处用到了正则表达式:
前缀为“EXACT:”表示完全匹配(大小写敏感)
无前缀表示基本搜索,表示搜索到字符串就匹配
前缀为“REGEX:”表示使用正则表达式匹配
前缀为“REGEX:(?insx)”表示匹配方式其中:
i表示不区分大小写;
n表示指定的唯一有效的捕获是显式命名或编号的形式;
s表示单行模式;
x表示空格说明的;