示曲豆
------ 千礼之行始于足下。。

前言

有时候,调试的时候,本地环境没有问题,遇到外网环境出bug了,而且外网代码都是压缩过的,不好debug,可咋办呢?

那就得靠AutoResponder来调试了。

一、AutoResponder的作用

Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。

即访问页面的时候,根据匹配,将访问到你本地的文件,这样,跟踪代码、调bug的时候,轻而易举。

AutoResponder本质就是Fidder拦截了http的response,取代之以用户自定义的资源。

二、AutoResponder的规则

使用AutoResponder选项卡,你可以创建一个匹配规则和一个响应字符串,如果请求的URL地址跟你的匹配规则相匹配,

Fiddler就会自动执行这个对应的响应字符串。

小提示:

  • 匹配规则会按照它在规则列表中出现的顺序进行匹配, 按+键可以使一个匹配规则向上移一项,按-键可以使一个匹配规则向下移一项。
  • 使用右键菜单, 你可以导出一个包含了所有的匹配规则和对应响应字符串的后缀为 .FARX 的文件。
  • 你也可以通过导入  .SAZ or .FARX 文件来创建基于以前创建的规则列表和响应列表.
  • 你可以从会话列表中拖动一个会话到AutoResponder选项卡中来重新演示以前的响应. 你也可以选中一条规则,然后回车这样就可以来编辑一条规则。
  • 你也可以直接从Windows的资源管理器中拖动一个文件到 AutoResponder选项卡中来为这些文件创建规则和响应

Demo:

字符串匹配。

注意:记得勾选【Unmatched requests passthrough】,这样不匹配的文件会直接跳过,

匹配规则

纯粹字符串

Fiddler将会按照不区分字母大小写来匹配字符串。

Demo如下:

RuleMatches
* http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
shiqudou. http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
dev/ http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
script http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js

 

跟上面的类似,Fiddler还有一个非字符串匹配的规则:NOT:

Demo如下:下面的都匹配。

RuleMatches
NOT:shiqudou. http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
NOT:dev1/ http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
NOT:script2 http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js

Exact匹配:

表达式以EXACT:完全匹配,为前缀,此匹配区分字母大小写

Demo如下:

RuleMatches
EXACT:https://www.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
EXACT:https://www.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/Detail.js http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js (不匹配- 大小写不一样)
EXACT:https://www.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/de http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js (不匹配- 子字符串不一样)

正则表达式:

Fiddler支持以regex:为前缀的正则表达式语法,使用.+匹配一个或多个字符,使用.*匹配0个或多个字符,使用^匹配字符串开始位置,使用$匹配字符串结尾位置。

Demo如下:

RuleMatches
regex:.+ http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
regex:.+\.js.* http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js
regex:.+\.js$ http://dev.shiqudou.cn/webapp/2.2.0/dev/script/log/tpl/detail.js&bar

三、结语

通过AutoResponder将线上代码请求映射到本地,这样调试起来,问题是不是容易定位了呢。

对于处理紧急bug,非常适合快速web调试

 

posted on 2015-02-25 13:50  示曲豆  阅读(718)  评论(0编辑  收藏  举报