[Response] 本地模拟响应
本节用于配置针对指定 URL 的本地静态 HTTP 响应,在建立外部连接前直接返回预设文本内容。
命中的 HTTP 请求不建立上游网络连接,直接返回配置的响应体文本。
HTTPS 请求需先在 MITM 中配置解密,方可匹配 URL。
语法声明
本章节采用行内键值映射语法,每一行定义一条独立的拦截规则:
ini
[Response]
pattern = response_content行内结构拆解如下:
pattern:正则表达式,匹配客户端发起的完整 HTTP 请求 URL。=:键值分隔符。response_content:返回的 HTTP 响应体文本内容。
参数与默认行为
pattern(正则表达式字符串,必填) 匹配 HTTP 请求的完整 URL,支持标准正则表达式语法与捕获组。response_content(字符串文本,必填) 返回的 HTTP 响应体文本内容。- 状态码(固定值,默认值
200 OK) 默认返回 HTTP 200 状态码。 - 响应头(键值映射,默认值
Content-Type: text/plain; charset=utf-8) 默认注入 Content-Type 响应头。
运行机制与处理流程
- 执行阶段:本地响应拦截在完成 URL Rewrite 路径改写与 Header Rewrite 头部调整之后、建立外部连接之前执行。
- 顺序匹配与首命中:规则按书写顺序自上而下匹配。命中首条规则后直接返回响应并终止后续流程;未命中规则的请求继续正常流转。
- 内容范围:本节仅支持固定文本响应。自定义状态码或动态内容可通过 Script 实现。
配置示例
基础配置
ini
[Response]
# 健康检查接口静态响应
^https?://api\.example\.com/healthz$ = ok
# API 接口静态 JSON 响应
^https?://api\.example\.com/v1/user/profile$ = {"code": 0, "data": {"id": 1001, "name": "developer", "status": "active"}}
# 服务维护提示静态响应
^https?://example\.com/maintenance$ = Service temporarily under scheduled maintenance.