有时候,调试的时候,本地环境没有问题,遇到外网环境出bug了,并且外网代码都是压缩过的,很差debug,可咋办呢?web
那就得靠AutoResponder来调试了。正则表达式
Fiddler 的AutoResponder tab容许你从本地返回文件,而不用将http request 发送到服务器上。服务器
即访问页面的时候,根据匹配,将访问到你本地的文件,这样,跟踪代码、调bug的时候,垂手可得。app
AutoResponder本质就是Fidder拦截了http的response,取代之以用户自定义的资源。webapp
使用AutoResponder选项卡,你能够建立一个匹配规则和一个响应字符串,若是请求的URL地址跟你的匹配规则相匹配,spa
Fiddler就会自动执行这个对应的响应字符串。debug
小提示:调试
Demo:blog
字符串匹配。ip
注意:记得勾选【Unmatched requests passthrough】,这样不匹配的文件会直接跳过,
匹配规则
纯粹字符串
Fiddler将会按照不区分字母大小写来匹配字符串。
Demo以下:
Rule | Matches |
---|---|
* | 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以下:下面的都匹配。
Rule | Matches |
---|---|
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以下:
Rule | Matches |
---|---|
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以下:
Rule | Matches |
---|---|
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调试