Fiddler--AutoResponder
AutoResponder支持创建规则,可以在响应请求时自动触发,常见例子是返回之前捕捉的响应,而不需要访问服务器。
通俗点讲,就是它能在不访问服务器的情况下,使发送的请求得到自己设置的响应。
下图是AutoResponder的界面:
一、第一部分
Enable rules复选框:控制是否激活AutoResponder。
Unmatched requests passthrough:控制当Session不匹配任何给定的规则时会发生什么。如果选中该项,不匹配的请求可正常发送到服务器;如果不勾选该项,不匹配的请求将会得到404响应。
如果发送的是条件请求,其中包含请求头If-None-Match或If-Modified-Since,则会得到304 Not Modified响应。
如上图,Fiddler捕获到的是前4条Session,勾选Unmatched requests passthrough,replay这四条Session,得到第5~8条Session,从响应结果可以看出,不匹配的请求发送后,得到的是正常的响应;
不勾选Unmatched requests passthrough,replay前四条Session,得到第9~12条Session,不匹配的请求(非条件请求),响应都是404。
Enable Latency :控制匹配某个规则的请求是立即执行,还是延迟Latency字段中指定的毫秒数。只有勾选该选项,列表中才会出现Latency字段。
二、第二部分
“If request matches...”:判断接收到的请求是否匹配该规则;该字段前面的复选框,当勾选时表示规则是否有效;
“the respond with...”:匹配成功后,所需要执行的操作或返回本地文件;
选中某条Session,点击“Add Rule”按钮,会在列表中增加一条规则:
当然,不选择Session,直接点击“Add Rule”也是可以添加一条规则的。
选中规则后,可在Rule Editor中修改信息,点击“Save”按钮保存信息;
选择多条规则,可为这些选中的规则使用相同的响应:
三、指定匹配条件
在第二部分中,我们能看到生成的规则,在地址前面有“EXACT:”。在条件前指定前缀,能更方便快捷地匹配到Session。
* :匹配所有接收到的请求;
指定前缀NOT:,匹配URL不包含给定字符串的请求,匹配时大小写不敏感。
从上图可以看出,URL中不存在“general”字符串的,响应都返回指定文件;
指定前缀EXACT:,要求匹配时大小写敏感。
指定前缀REGEX:,对URL执行正则匹配。表达式是通过.NET正则表达式引擎来匹配的。
四、指定Actions
在Action输入框中可以看到存在以下选项:
参考资料:
1、Fiddler官网文档:http://docs.telerik.com/fiddler/knowledgebase/autoresponder
2、《Fiddler调试权威指南》