模拟响应

Chute 可以为匹配的 HTTP/HTTPS 请求返回模拟数据。对于已解密的 HTTP/2 流,模拟响应会在本地直接应答,不再转发该请求;对于 HTTP/1.1 请求(普通代理和 MitM HTTP/1.1),请求仍会被发送到真实服务器,真实响应在到达客户端之前会被替换为模拟数据。这对于测试、开发或用自定义响应阻止不需要的内容非常有用。

模拟规则定义在 [Map Local] 部分中。

每个请求只会应用一条模拟规则——即第一条 URL 模式匹配的规则。

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"

注意:URL 正则表达式必须匹配完整的请求 URL,而不是其中的一个子串。模式通常应以 .* 结尾,以匹配带有任意路径和查询字符串的 URL。

Map Local 参数

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

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

注意:解析 header= 时会剥离所有空白字符,且每行必须严格为 Key:Value 形式并只包含一个冒号。值本身包含冒号的头部(例如 URL)会被静默丢弃,值内的空格也会丢失。

模板变量

使用 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-08-18 11:57:36

本页为英文版的翻译。如内容有出入,以英文版为准。

results matching ""

    No results matching ""