Skip to content

过滤器 ​

当需要基于请求属性或响应属性(而不仅仅是URL)进行匹配时,可以使用过滤器来实现更精细化的规则控制,语法结构:

txt
pattern opertaion includeFilter://pattern1 ... excludeFilter://patternx ...

多个过滤器间为「或」匹配,只要匹配其中一个过滤条件就成立

过滤器类型 ​

过滤器类型语法格式用途
包含过滤器includeFilter://pattern只匹配符合指定条件的请求
排除过滤器excludeFilter://pattern排除符合指定条件的请求

pattern 类型 ​

用于 includeFilter://<pattern> 和 excludeFilter://<pattern> 的匹配表达式。

通用规则

  • 未指定前缀时,默认匹配请求 URL。
  • 关键字匹配默认不区分大小写。
  • 正则格式为 /regexp/,末尾可加 i 表示忽略大小写,例如 /regexp/i。
  • chance 的 probability 取值范围为 0 ~ 1。
语法匹配目标示例
b:pattern请求体内容:关键字(不区分大小写)或正则includeFilter://b:keyword
excludeFilter://b:/regexp/i
m:patternHTTP 方法:方法名(不区分大小写)或正则includeFilter://m:get
excludeFilter://m:/regexp/i
i:pattern客户端或服务端 IP:IP 或正则includeFilter://i:192.168.1.10
excludeFilter://i:/regexp/i
chance:probability按概率随机命中:Math.random() < probabilityincludeFilter://chance:0.5
excludeFilter://chance:0.3
clientIp:pattern客户端 IP:IP 或正则includeFilter://clientIp:192.168.1.10
excludeFilter://clientIp:/regexp/i
serverIp:pattern服务端 IP:IP 或正则includeFilter://serverIp:192.168.1.10
excludeFilter://serverIp:/regexp/i
s:pattern响应状态码:状态码或正则includeFilter://s:/^20/
excludeFilter://s:200
reqH.header-key:pattern请求头:关键字(不区分大小写)或正则includeFilter://reqH.content-type:json
excludeFilter://reqH.content-type:/regexp/i
resH.header-key:pattern响应头:关键字(不区分大小写)或正则includeFilter://resH.content-type:json
excludeFilter://resH.content-type:/regexp/i
无前缀 pattern(其它 xxxxxx)请求 URL,同 patternincludeFilter://*/cgi-*
excludeFilter://www.test.com
includeFilter://https://www.test.com/path