zoukankan      html  css  js  c++  java
  • AutoResponder及正则表达式

    使用AutoResponder选项卡,你可以创建一个匹配规则和一个响应字符串,如果请求的URL地址跟你的匹配规则相匹配,Fiddler就会自动执行这个对应的响应字符串。

    小提示:

    • 匹配规则会按照它在规则列表中出现的顺序进行匹配, 按+键可以使一个匹配规则向上移一项,按-键可以使一个匹配规则向下移一项。
    • 使用右键菜单, 你可以导出一个包含了所有的匹配规则和对应响应字符串的后缀为 .FARX 的文件。
    • 你也可以通过导入  .SAZ or .FARX 文件来创建基于以前创建的规则列表和响应列表.
    • 你可以从会话列表中拖动一个会话到AutoResponder选项卡中来重新演示以前的响应. 你也可以选中一条规则,然后回车这样就可以来编辑一条规则。
    • 你也可以直接从Windows的资源管理器中拖动一个文件到 AutoResponder选项卡中来为这些文件创建规则和响应。

    匹配规则:

    纯粹字符串

    Fiddler将会按照不区分字母大小写来匹配字符串。

    Demo如下:

    RuleMatches
    * 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

    跟上面的类似,Fiddler还有一个非字符串匹配的规则:NOT:

    Demo如下:下面的都匹配。

    RuleMatches
    NOT:EXAMPLE http://www.test.com/Path1/query=test
    NOT:path1/ http://www.example.com/Path2/query=example
    NOT:query http://www.example.com/Path1/q

    Exact匹配:

    表达式以EXACT:为前缀,此匹配区分字母大小写

    Demo如下:

    RuleMatches
    EXACT:http://www.example.com/path http://www.example.com/path
    EXACT:http://www.example.com/path http://www.example.com/Path (不匹配- 大小写不一样)
    EXACT:http://www.example.com/path http://www.example.com/path/q=Query (不匹配- 子字符串不一样)

    正则表达式:

    Fiddler支持以regex:为前缀的正则表达式语法,使用.+匹配一个或多个字符,使用.*匹配0个或多个字符,使用^匹配字符串开始位置,使用$匹配字符串结尾位置。

    Demo如下:

    RuleMatches
    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
       

    想要学习更多正则表达式的请看这里here.

    响应字符串

    除了简单的返回文件,AutoResponder选项卡还有更多的用处........

     

    Beyond simply returning files, the AutoResponder can also perform special actions...

    Action StringResult...
    filename 返回文件内容作为消息响应
    http://targetURL 返回此URL的内容作为消息响应
    *redir:http://targetURL 返回一个跳转URL,注意,不是一般的URL,一定要确保此URL知道要到哪里去,以便携带上相关的Cookie信息。
    *bpu 设置一个断点在发往服务器以前停住此请求Non-final action.
    *bpafter 设置一个断点在接收响应之前停住此请求Non-final action.
    *delay:#### 设置在发给服务器之前的延时,以毫秒为单位。Non-final action.
    *header:Name=Value 设置请求头的内容,如果没有那个请求头,则新建一个请求头Name并设置为ValueNon-final action.
    *flag:Name=Value  设置Session Flag的内容,如果没有那个Session Flag,则新建一个Session FlagName并设置为ValueNon-final action.
    *CORSPreflightAllow 返回一个响应标志 CORS 是否被允许。.
    *reset  使用一个TCP/IP RST 重新设置客户端的链接。
    *drop 马上关闭客户端链接。
    *exit 这时候停止处理匹配。

    如果你的匹配规则使用了正则表达式,那么响应也可以使用正则表达式,更多信息请看这里: Learn more...

    标志为Non-final action.的请求会匹配多个响应规则,如果一个规则是final action ,那么再找到匹配之后,匹配过程就会结束,对于那条请求来说就不会再匹配其它的规则。

    延迟响应

    在一个请求返回来之前你可以设置一下请求延迟返回的时间。选中Enable Latency 复选框,可以设置所有的规则的延迟。

    右键单击一个或者多个规则,然后选择 Set Latency 就可以设置具体的延迟时间。如果你想调整现存的延迟时间,只需要输入一个带有+或者-号的数字即可。

    如果你想在现在的延迟时间基础上面减少500毫秒,那么在弹出的输入框中输入-500即可。

    好了,今天就到这里吧,O(∩_∩)O~

    报文内容无法查看的时候需要点击上面的decode

    可以用记事本打开了

    注意这里的匹配模式,是精确匹配EXACT、否定匹配NOT、正则匹配regex:、还是普通的文本匹配

    复制之前用记事本记录的报文。

  • 相关阅读:
    装饰模式
    You can't specify target table 'a' for update in FROM clause
    Spring事务知识点
    JAVA中的volatile关键字
    验证HashSet和HashMap不是线程安全
    ZYNQ7000 通过FPGA Manager加载比特流
    verilog中可综合的task使用
    verilog条件编译
    Vivado debug异常现象
    Matlab相关函数使用
  • 原文地址:https://www.cnblogs.com/hushaojun/p/5632925.html
Copyright © 2011-2022 走看看