在线调试利器Fiddler AutoResponse

      有些时候在测试环境和线上环境的不同,导致在线系统的js难易跟踪调试特别是一些动态js脚本。fiddler这个工具给我减少了很多调试上的烦恼,尤其是强大的AutoResponder.

它可以抓取在线页面保存到本地进行调试,这大大减少了在线调试的困难。

下面以http://www.fiddler2.com/fiddler2为例简单描述一下操作步骤:

1、打开fiddler2,在浏览器中输入http://www.fiddler2.com/fiddler2。在fiddler2可以看到请求记录。

2、选择需要调试的页面,右键-Save-Response-Response body

3、修改需要调试的代码段。

4、点击fiddler AutoResponder Tab页面,勾选Enable automatic responses,把http://www.fiddler2.com/fiddler2/这面拖拽到AutoResponder 列表中。

    默认 Rule Editor为精匹配。在第二个文本框中选择Find a file...,选择本地保存后的文件。

5、保存规则后,重新请求http://www.fiddler2.com/fiddler2/,在看Fiddler websessions 列表新的请求Result 301,说明请求的是本地缓存的文件。

这样就可以做我们想做的调试和修改了。

如果,你的请求是带动态参数的化,可以使用正则表达式。

如:请求规则:Regex:(?insx)^http://.*gravatar.*$

                   Regex:(?insx)^http://.*WF_ID=WFDevFx_GCUSTOMIZE&ticket=.*$

*下面是详细的过滤规则:

String Literals

Fiddler will match string literals (大小写不敏感)

Rule

Matches

*

http://www.example.com/Path1/query=example

EXAMPLE

http://www.example.com/Path1/query=example

path1/

http://www.example.com/Path1/query=example

query

http://www.example.com/Path1/q=Query

Exact Match(精确匹配)

Fiddler supports an exact, 大小写敏感 match syntax for expressions which begin with exact:

Rule

Matches

EXACT:http://www.example.com/path

http://www.example.com/path

EXACT:http://www.example.com/path

http://www.example.com/Path (No Match - mismatched case)

EXACT:http://www.example.com/path

http://www.example.com/path/q=Query (No Match - substring different)

Regular Expressions(正则表达式)

Fiddler supports regular expression syntax for expressions which begin with regex:

Rule

Matches

regex:.*

http://www.example.com/Path1/query=example

regex:.*\.jpg

http://www.example.com/Path1/query=foo.jpg&bar
http://www.example.com/Path1/query=example.jpg

regex:.*\.jpg$

http://www.example.com/Path1/query=foo.jpg&bar (No Match - improper ending)
http://www.example.com/Path1/query=example.jpg

regex:.*\.(jpg|gif|bmp)$

http://www.example.com/Path1/query=foo.bmp&bar (No Match  - improper ending)
http://www.example.com/Path1/query=example.gif
http://www.example.com/Path1/query=example.Gif  (No Match - mismatched case)
http://www.example.com/Path1/query=example.bmp

regex:(?insx).*\.(jpg|gif|bmp)$

http://www.example.com/Path1/query=foo.bmp&bar (No Match - improper ending)
http://www.example.com/Path1/query=example.gif
http://www.example.com/Path1/query=example.Gif 
http://www.example.com/Path1/query=example.bmp

 抓取带参数的请求并重定向:

  请求:http://v.sdo.com/login/game_login.htm?isgamelogin=true&server=1&abb=csws&returnUrl=%2fcsws%2fplay.htm

      重定向:http://www.cnblogs.com/peak-weng/archive/2012/01/19/2325855.html?isgamelogin=true&server=1&abb=csws&returnUrl=%2fcsws%2fplay.htm

     在Rule Editor:表示为:

      regex:(?insx)^http://v.sdo.com/login/game_login.htm\?(?<args>.*)$

      *redir: http://www.cnblogs.com/peak-weng/archive/2012/01/19/2325855.html?${args}

  如图:

     

     

 

参考文章:http://aiyooyoo.com/index.php/archives/250/

posted @ 2012-01-19 11:05  peak  阅读(9535)  评论(0编辑  收藏  举报