Skip to content

[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 响应头。

运行机制与处理流程 ​

  1. 执行阶段:本地响应拦截在完成 URL Rewrite 路径改写与 Header Rewrite 头部调整之后、建立外部连接之前执行。
  2. 顺序匹配与首命中:规则按书写顺序自上而下匹配。命中首条规则后直接返回响应并终止后续流程;未命中规则的请求继续正常流转。
  3. 内容范围:本节仅支持固定文本响应。自定义状态码或动态内容可通过 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.