模拟响应

Chute 可以为匹配的 HTTP/HTTPS 请求返回模拟数据,而无需访问真实服务器。这对于测试、开发或用自定义响应阻止不需要的内容非常有用。

模拟规则定义在 [Map Local] 部分中(也支持 [Mock] 作为旧版部分名称)。

对于单个请求,可以应用多条规则。第一个 URL 模式匹配的模拟规则将被使用。

内联模拟格式

对于使用内联内容的简单模拟响应:

[Map Local]
^http://example\.com/api/status status=200 body={"ok":true}
^http://example\.com/blocked status=403
^http://ad\.com/.* status=200 body="<html></html>" content-type="text/html"

内联模拟规则包括:URL 正则表达式,以及一个或多个 key=value 响应参数。

内联参数

status:必填。

status=200

要返回的 HTTP 状态码。

body:可选。

body={"result":"mocked"}

要返回的响应正文。如果未指定,则返回空正文。

content-type:可选。

content-type=application/json

模拟响应的 Content-Type 头部。与 body 一起使用以返回正确的响应。

headers:可选。

headers=X-Custom:Value1;X-Another:Value2

额外的响应头部,以 ; 分隔。


Map Local 格式

用于从本地文件或 base64 编码内容提供模拟响应:

[Map Local]
^https://example\.com/api data="/path/to/mock-response.json"
^https://example\.com/page data="/path/to/page.html" header="SGVhZGVyOiBWYWx1ZQ=="
^https://example\.com/pixel base64="R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"

Map Local 参数

参数 说明
data="/路径/到/文件" 用作响应正文的文件路径。文件在请求时读取。
base64="<编码内容>" Base64 编码的响应正文内容。
header="<base64>" Base64 编码的自定义响应头部(Key: Value\n 格式)。

必须至少指定 data=base64= 中的一个。

模板变量

使用 data=base64= 时,响应正文支持模板变量替换:

变量 替换为
{{url}} 完整的请求 URL 路径
{{host}} 请求的主机名
{{path}} 相对 URL 路径
{{method}} HTTP 方法
{{ua}} User-Agent 头部值

示例模拟响应文件(response.json):

{
    "requested_url": "{{ "{{url}}" }}",
    "host": "{{ "{{host}}" }}",
    "method": "{{ "{{method}}" }}"
}

注意:对于 HTTPS 请求,必须为匹配的主机名启用 MitM 解密。未启用 MitM 的 HTTPS 流量的模拟规则将被忽略。

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-06-28 02:09:17

results matching ""

    No results matching ""