配置项如图

选项开关
Enable rules : 启用匹配规则
Unmatched requests passthrough : 不匹配的请求会正常发送到服务器,这个一般要勾上,比如“baidu.com”由于匹配不上规则,如果不勾上则百度会访问失败。
Enable Latency : 延时选项,如果勾上,会多一列“Latency”的展示,然后在某条规则上点击右键菜单“Set Latency”可以设置延时时间,用于调试时模拟服务器响应延时。
规则匹配顺序调整
规则匹配优先从上到下:在某条规则右键,弹出菜单中的 Promote + 和 Demote - 分别可以上、下调整顺序。

规则导出/导入
- 图二右键菜单的
Export All可以导出所有规则配置,导出的是一个.farx后缀的文件,实际上是一个xml文档。
<?xml version="1.0" encoding="utf-8"?>
<AutoResponder LastSave="2019-06-25T17:52:57.7451762+08:00" FiddlerVersion="5.0.20192.25091">
<State Enabled="true" Fallthrough="true" UseLatency="false">
<ResponseRule Match="regex:^http://(.*).xxx.com/api/(.*)$" Action="http://xxx.nat123.cc/api/$2" Enabled="true" />
<ResponseRule Match="regex:^http://ide.xxx.com/(.*)$" Action="http://192.168.1.1:8080/$1" Enabled="true" />
<ResponseRule Match="regex:^http://www.xxx.com/(\S*)$" Action="http://192.168.1.1:3000/$1" Enabled="true" />
<ResponseRule Match="regex:^http://ide.xxx.com:8600/(\S*)$" Action="http://192.168.1.1:8080/$1" Enabled="true" />
</State>
</AutoResponder>
- 图一中的
[Import.. ]按钮 可以导入规则配置。
规则设置

点击“Add Ruler”增加一个规则:
第一个框,用于匹配url的表达式:可以是一个正则表达式,如 regex:^http://ide.xxx.com/(.*)$ ,也可以是一个普通字符串进行精确匹配 。
第二个框,匹配成功后跳转的目的地址:可以是一个url,如 http://192.168.1.1:8080/$1,或者指定本地的某个文件 E:\test.html。
regex开头:
表示后面是一个正则表达式,否则按照普通文本匹配,如:regex:^http://ide.xxx.com/(.*)$
参考 https://www.cnblogs.com/pachongshangdexuebi/p/6601363.html
关于正则表达式:
如:^http://ide.xxx.com/(.*)$ 是一个正则表达式,
^ 表示从第一个字符开始匹配,
. 匹配除换行符(\n、\r)之外的任何单个字符,
* 匹配前面的子表达式零次或多次,
$ 表示匹配到结尾,
() 括号表示一个子正则表达式,
(.*) 匹配除换行符之外的任何字符零次或多次,
(.*)$ 匹配除换行符之外的任何字符零次或多次,一直匹配到结尾。
正则表达式语法参考 https://www.runoob.com/regexp/regexp-metachar.html
关于$1 :
表示匹配成功后,将目标字符串中的$1直接替换为正则表达式中第1组子表达式匹配成功的内容(每一对括号表示一组子正则表达式,没有括号的不算子表达式,$后面的数组可以理解为表达式的索引),
如:$1、$2...$n 依次类推表示 第1组、第2组…第n组 子正则表达式 。
比如:^http://(\S*).xxx.com/(\d)$ , 有两子组子正则表达式,第1组子表达式为:(\S*),第2组表达式为:(\d)。
比如 http://ide.xxx.com/abc 匹配 ^http://ide.xxx.com/(.*)$ 成功,第1组子表达式(.*)匹配的是abc,则目标地址http://192.168.1.1:8080/$1 中的 $1 会替换成abc ,即变为:http://192.168.1.1:8080/abc
下图的规则中有两个子表达式(\S*)和(.*),$2表示替换第二个子表达式(.*)的匹配字符

不在括号内的则不算是一个子表达式,如下截图去掉括号后,\S*就不是子表达式了,只有(.*)才是子表达式,因此目标串使用$1与上图的$2等价

当然目标字符串的$1,$2等可以放任何位置,不一定放结尾,如: http://xxx.nat123.cc/$1/api/$2
参考:
https://www.cnblogs.com/tugenhua0707/p/4637771.html
https://blog.youkuaiyun.com/pc_gad/article/details/48194605
Fiddler AutoResponder配置与规则设置
本文介绍了Fiddler AutoResponder的配置与规则设置。包括选项开关,如启用匹配规则、延时选项;规则匹配顺序调整方法;规则的导出与导入操作。还说明了规则设置,如匹配url的表达式(正则或普通字符串)、匹配成功后的跳转地址,以及正则表达式语法和$1等替换规则。
1835

被折叠的 条评论
为什么被折叠?



