Live Traffic 之 自动回复

AutoResponder

AutoResponder是Fiddler Everywhere最强大的功能之一。它使您能够创建规则,这些规则将自动响应请求而触发。该功能提供了无需更新生产服务器即可轻松快速地测试Web代码更改,重现先前捕获的错误(在SAZ文件中)或在完全脱机时运行网站演示的方法。

自动回复规则编辑器 允许你创建新的规则和编辑现有的。

自动回复队列查看器列出了当前使用的规则,并提供了他们额外的控制。该选项卡还提供用于导入/导出规则文件(FARX),更改规则(执行)优先级以及完全启用/禁用自动响应程序或特定规则的选项。

您需要启用Live Traffic Capturing才能应用自动响应规则。


Rules Editor

在规则编辑器界面使创建和编辑规则。您需要输入一个匹配规则和一个操作字符串,如果请求URI与匹配规则匹配,Fiddler Everywhere将执行该操作。

Create New Rule

1、在“规则编辑器”中单击“创建新规则”按钮。

2、输入匹配规则。有关更多详细信息,请参见匹配规则部分。

3、输入一个操作字符串。有关更多详细信息,请参见操作字符串部分。

4、将新创建的规则添加到规则的“队列查看器”列表中。

提示:

  • 规则以它们在“队列查看器”中出现的顺序应用。按下向下箭头以降级规则。
  • 您可以通过“队列查看器”工具栏中的“导出”按钮导出当前规则队列。
  • 您可以通过“导入”按钮导入* .FARX文件,以根据先前捕获的流量对规则进行排队。


Match Rules

Fiddler Everywhere将接受字符串文字,正则表达式以及一些特殊的匹配规则,如下所示。

String Literals

它们将匹配字符串文字(不区分大小写)。

  • *将匹配所有内容

    http://www.example.com/Path1/query=example
    http://www.example.com/SomethingCompletelyDifferent
  • 匹配网址示例

    http://www.**example**.com/Path1/
    http://www.something.com/Path1/query=**Example**
    
  • 匹配url中path1/

    http://www.example.com/**Path1/**query=example
    http://www.example.com/returnUrl=**Path1/**OtherPlace
    
  • 匹配url中query

    http://www.example.com/Path1/q=**Query**
    http://www.example.com/Path1/**query**=hello
    
  • 匹配url中query

    http://www.example.com/Path1/q=**Query**
    http://www.example.com/Path1/**query**=hello
    


NOT rules (for String Literals)

NOT:如果字符串只适用不匹配规则。

  • NOT:EXAMPLE将匹配不包含EXAMPLE字符串的URL 。

    NOT:google.com
    www.example.com/Path1/query=foo // (MATCH)
  • NOT:path1 /将匹配不包含path1 /的 URL 。

    NOT:path2/
    www.example.com/path1/query=foo // (MATCH)
    www.example.com/path2/query=foo // (No Match)
  • NOT:query将匹配不包含query的 URL 。

    NOT:query/
    www.example.com/path1/query=foo // (No Match)
    www.example.com/path2/somethingElse=foo // (MATCH)


EXACT Match

EXACT: 是表达式和字符串区分大小写匹配的语法。

  • EXACT:URL-将匹配与传递的URL参数相同的URL。请注意,EXACT:规则区分大小写。

    EXACT:www.example.com/Path1/query=foo
    
    www.example.com/Path1/query=foo // (MATCH)
    www.example.com/PATH1/query=foo // (No Match - mismatched case)


Regular Expressions

Fiddler Everywhere支持以regex:开头的表达式的正则表达式语法。正则表达式将用于使用“操作”行中的字符串替换入站URL。使用.+匹配一个或多个字符的序列,或使用.*匹配零或多个字符的序列。在正则表达式的前面使用^表示“URL的开头” ,在正则表达式的末尾使用$表示“URL的结尾”。

  • regex:.+将匹配所有URL

    regex:.+
    
    www.example.com/Path1/query=foo // (MATCH)
  • regex:.+.jpg$将匹配以.jpg结尾的URL

    regex:.+.jpg$
    
    www.example.com/Path1/query=foo.jpg&bar // (MATCH)
    www.example.com/Path1/query=example.jpg // (MATCH)
  • regex:.+.(jpg|gif|bmp)$将匹配以列出的图像扩展名结尾的URL(区分大小写!)。

    regex:+.(jpg|gif|bmp)$
    
    www.example.com/Path1/query=foo.jpg&bar // (No Match - imnproper ending)
    www.example.com/Path1/query=exam ple.jpg // (MATCH)
    www.example.com/Path1/query=foo.JPG // (No Match - mismatched case)
    www.example.com/Path1/query=somegif.gif // (MATCH)


Action Strings

除了简单地返回文件之外,AutoResponder还可以执行一些特定的操作:

ACTION STRING DESCRIPTION ACTION TYPE
filename Return contents of the filename as the response. Final
http://targetURL Returns the content of the targetURL as the response. Final
*redir:http://targetURL Returns a HTTP Redirect to the target URL. Unlike the simple URL rule, this ensures that the client knows where its request is going so proper cookies are sent, etc. Final
*bpu Breaks on request before hitting the server. Non-final
*delay:### Delay sending request to the server by ### of miliseconds. Non-final
*header:Name=Value Set the Request header with the given Name to the specified Value. If no header of that name exists, a new header will be created. Non-final
*flag:Name=Value Set the Session Flag, with the given Name to the specified Value. If no header of that name exists, a new header will be created. Non-final
*CORSPreflightAllow Returns a response that indicates that CORS is allowed. Final
*reset Reset the client connection immediately using a TCP/IP RST to the client. Final
*drop Close the client connection immediately without sending a response. Final
*exit Stop processing rules at this point. Final

Rules with Non-final动作的规则将允许请求匹配多个AutoResponder规则。一旦达到指定最终操作的规则,就会存在匹配的流程,并且不会为该会话处理进一步的规则。


Queue Viewer

Queue Viewer (又名Queue Rules Viewer) 接口是所创建的自动回复规则的队列。队列查看器允许启用和禁用列出的规则,被提升和降级(通过改变它们的队列中的位置),将被编辑,被导出和导入。启用AutoResponder并允许不匹配的请求通过的选项也是Queue Viewer的一部分。

Rules Grouping & Priority

默认情况下,队列查看器将根据优先级列出所有已创建和导入的规则(有关如何在队列中升级/删除规则的详细信息,请参阅规则选项)。您还可以使用“ 组视图” /“优先级视图”切换按钮为队列中的规则创建自定义组。

使用“组视图/优先级视图”切换可基于优先级与组标识切换队列中的规则。

使用“分组/取消分组”切换按钮为队列中的选定规则创建分组。请注意,只有在切换到“组视图”时,“组/取消组”按钮才可见。


Enable Auto Responses

使用“启用自动回复”复选框激活自动响应器。请注意,Live Traffic开关也应打开到Capturing模式。


Import Rules

您可以从FARX(Fiddler AutoResponder XML)文件导入规则。该FARX文件包含了一组以前创建的自动回复规则。当前的规则集将在退出时自动保存,并在再次启动Fiddler Everywhere时重新加载。

使用Import按钮提供包含规则集的FARX文件。

Export Rules

您可以将规则导出到FARX文件(Fiddler AutoResponder XML)中。通过导入功能可以轻松地重用导出的文件。

使用Export按钮创建包含规则集的FARX文件。


Unmatched Requests Passthrough

“不匹配的请求传递”选项控制在会话不匹配任何已应用规则时发生的情况。选中此复选框后,不匹配的请求将正常发送到服务器,而不受自动响应程序的任何干扰。当该选项为OFF(未选中该复选框)时,Fiddler将为所有不符合所应用规则的无条件请求生成404 Not Found响应。

默认情况下,当自动回复启用后,UNMATCH请求直通选项被关闭,这意味着所有匹配的请求将开始失败,一个404(摆弄)响应。

例如,由于关闭了“不匹配请求传递”选项时,由于请求与应用的规则不匹配,Fiddler生成了404响应。


Rule Options

可以通过以下选项控制队列查看器中存在的每个规则:

  • 启用和禁用规则设置是否将应用指定的规则。
  • 升级会提高队列中指定规则的优先级。如果规则已应用了最终操作,则优先级较低的规则将不会应用。
  • 降级会降低队列中指定规则的优先级。
  • “编辑”在“规则编辑器”中打开指定的规则,可以在其中进行编辑和保存。
  • 删除删除永久指定的规则。


上一篇:Live Traffic 之 检查器 下一篇:Sessions List