一条重写规则由 条件(何时生效)与一个或多个 动作(做什么)组成。规则在隧道内执行,不修改被调试 App。规则必须保存并启用,且全局 Rewrite 开关打开。用新的请求验证。
简单模式
在最近请求左滑 → 新建重写(预填主机与路径),或在重写列表点 +。选择生效范围,再选六个意图之一:
| 意图 | 效果 |
|---|---|
| 改 Header | 增、改或删请求/响应头。 |
| 改 Body | 替换请求或响应正文中的文本。 |
| Mock 响应 | 不访问源站,返回自定义内容。 |
| 拦截请求 | 空响应、空 JSON 对象/数组或空图。 |
| 重定向 | 把客户端送到另一个 URL(例如生产 → 预发)。 |
| 本地文件 | 用设备上的文件作为响应(Map Local)。 |
简单模式的多个条件以 AND 组合。需要 OR 时,再建一条相同动作的规则。多动作、括号与正则请用专家模式。
专家 DSL
动作的第一个记号(^ 替换/插入、~ 删除、或 @ 动词)决定做什么;@req.* / @rsp.* 决定作用位置;引号内是值。必须使用 ASCII ",弯引号会静默失败。
| 条件 | 含义 |
|---|---|
@req.host | 请求主机 |
@req.api | 路径 |
@req.url / @req.query / @req.method | 完整 URL、查询串、HTTP 方法 |
@req.header["Name"] / @req.bodyText | 请求头或正文 |
@rsp.status / @rsp.bodyText | 响应状态或正文 |
操作符包括 ==、!=、CONTAINS、BEGINSWITH、ENDSWITH、LIKE、MATCHES、IN。逻辑使用 &&、||、! 与括号。
| 动作 | 示例 |
|---|---|
^ 替换/插入 | ^@req.header["X-Debug"] "1" |
~ 删除 | ~@req.header["Authorization"] |
@mock | @mock "{\"ok\":true}" |
@reject / @reject-img / @reject-dict / @reject-array | @reject-array |
@redirect 或 @301…@308 | @redirect 307 "https://staging/x" |
@map-local | @map-local "/shared/mock.json" |
@break | @break |
URL 与方法. ^@req.host、^@req.api 与 ^@req.method 无法修改 URL 或方法。可执行动作覆盖头、正文、状态、Mock、拦截、重定向、Map Local 与 break。