跳转到内容
EN

规则引擎

RelayCraft 的规则引擎允许您在不编写代码的情况下拦截、修改和重定向网络流量。您可以创建规则来模拟 API、测试边缘情况或调试复杂场景。

每条规则包含两个主要部分:

  1. 匹配条件: 决定哪些请求会触发规则。
  2. 动作: 定义请求匹配后执行的操作。
  • 方法: HTTP 方法 (GET, POST, PUT, DELETE 等) 或 “任意”。
  • URL 模式:
    • 简单字符串匹配 (例如 api.example.com)。
    • 通配符 (例如 *.example.com/*)。
    • 正则表达式 (例如 ^https:\/\/api\..+\/v1\/)。

RelayCraft 提供六种类型的规则来处理网络流量:

修改请求体 (Request Body) 或响应体 (Response Body) 的内容。

  • 目标: 选择修改 请求 (发送前) 或 响应 (返回给客户端前)。
  • 修改方式:
    • 设置内容: 直接输入新的内容完全替换原有的 Body。
    • 文本替换: 简单的字符串查找与替换。
    • 正则替换: 使用正则表达式进行高级内容替换。
    • JSON 修改: 针对 JSON 数据进行字段级的增删改查 (例如将 data.vip 设置为 true)。

应用场景: 修改 API 返回的数据以测试不同 UI 状态,或在请求中注入参数。

修改请求头 (Request Header) 或响应头 (Response Header)。

  • 操作:
    • 添加/更新: 添加新的 Header 或更新现有 Header 的值 (例如 Authorization)。
    • 删除: 移除指定的 Header。

应用场景: 添加认证 Token、修改 User-Agent、处理跨域 (CORS) 问题。

将请求重定向到本地文件或自定义内容,而不发送给服务器。

  • 来源:
    • 文件: 从本地磁盘选择一个文件 (例如 JSON 文件)。
    • 手动: 直接在编辑器中输入响应体内容。
  • 状态码: 自定义 HTTP 状态码 (默认: 200)。
  • Headers: 自定义响应头。

应用场景: 模拟尚未开发的后端 API 接口 (Mock)。

将请求重定向到另一个 URL。

  • 目标 URL: 请求将被转发到的新地址 (例如将 prod.api.com 转发到 test.api.com)。

应用场景: 将生产环境的流量指向测试服务器或开发环境。

模拟恶劣的网络环境,测试应用的健壮性。

  • 延迟 (Delay): 增加请求或响应的延迟时间 (毫秒)。
  • 带宽限制: 限制上传或下载速度。
  • 丢包: 模拟一定比例的数据包丢失。

应用场景: 测试 App 在慢速网络、高延迟或不稳定网络下的表现。

直接阻断请求,使其无法发送到服务器,或模拟请求失败。

  • 行为:
    • 中止连接 (Abort): 直接断开 TCP 连接,模拟网络错误。
    • 返回错误状态码: 直接返回指定的 HTTP 错误码 (如 404 Not Found, 500 Internal Server Error)。

应用场景: 测试应用在服务器宕机或网络中断时的异常处理逻辑。

  • 分组: 将规则组织到不同的组中以便管理。
  • 优先级: 规则按从上到下的顺序评估。第一条匹配的规则生效(除非另有配置)。
  • 开关: 您可以快速启用/禁用单个规则或整个规则组。