Fiddler AutoResponder 配置

配置项如图

在这里插入图片描述

选项开关

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.csdn.net/pc_gad/article/details/48194605











原创文章 21 获赞 13 访问量 8403

猜你喜欢

转载自blog.csdn.net/iteye_19045/article/details/95968944