Fiddler—通过body中特定内容拦截请求

又到了周五啦,辛苦了一周,大家是否感觉到疲劳呢?轻松一下,今天跟大家聊一个fiddler中拦截请求的小技巧。

言归正传

经过以往的学习,大家可能都知道,fiddler可以通过修改AutoResponder的规则,拦截请求和模拟返回结果。其中拦截这块,可以根据url的差异化,自定义各种拦截方式,比如下面例子:

需要拦截的请求:

http://nihao.sogou.com/index.php?first=hello

http://nihao.sogou.com/index.php?first=good

http://nihao.sogou.com/index.php?first=nice

设置规则:

想要分别拦截上述3url,我们可以这样设置拦截的规则:

regex:.*nihao.sogou.com/index.php.first=h.*

regex:.*nihao.sogou.com/index.php.first=g.*

regex:.*nihao.sogou.com/index.php.first=n*

备注:使用regex时,“?”要换成“.

规则示例:

Fiddler AutoResponder

结果示例:

Fiddler AutoResponder

问题来了

上面的操作,估计大家已经是各种666了。但是突然有一天,开发跟你说,我把请求改了,从getpost,以后这三个请求的url都长一样,全是http://nihao.sogou.com/。之前url中的差异化参数(first=hellofirst=goodfirst=nice)放到body里了。以前设置的规则用不啦,这时候你什么感觉?心中一紧的有没有?咋办呢?其实很好解决。

解决方案

fiddler中有个自带的规则URLWithBody:Upload.phpregex:^.*BodyText.*$(如下图)能够很好的解决这个问题

Fiddler AutoResponder

具体操作?不废话,直接上实例说明:

需要拦截的请求:

http://nihao.sogou.com/    body的内容:first=hello

http://nihao.sogou.com/    body的内容:first=good

http://nihao.sogou.com/    body的内容:first=nice

设置规则:

URLWithBody:nihao.sogou.com regex:.*hello.*

URLWithBody:nihao.sogou.com regex:.*good.*

URLWithBody:nihao.sogou.com regex:.*nice.*

规则示例:

Fiddler AutoResponder

结果示例: 

Fiddler AutoResponder

此外url部分使用正则表达式,依然有效,例如:

Fiddler AutoResponder



留言