模拟响应
Chute 可以为匹配的 HTTP/HTTPS 请求返回模拟数据,而无需访问真实服务器。这对于测试、开发或用自定义响应阻止不需要的内容非常有用。
模拟规则定义在 [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"
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 流量的模拟规则将被忽略。