使用场景

故意弄坏你的 API 故意为之。

将任意客户端指向代理,然后模拟一个 500 错误、在请求进行中暂停,或将发生的一切精确导出为 HAR 文件交给队友。

An Android phone, a browser and a backend server stream traffic into a central proxy hexagon on port 8888; one stream passes a block-and-script rule gate and comes out transformed, then one live stream flows on into a dashboard feed with green status codes. A globe marks upstream proxy routing. android browser server {} rules :8888 upstream live 200 201 200

问题所在

复现一个 API bug 通常意味着 伪造后端

缓慢的接口、格式错误的错误响应体、两次调用之间的竞态问题——这些都很难在真实服务器上按需触发。

适合正在构建或测试 API 客户端(移动应用、前端、CLI、CI 任务)的后端与全栈工程师——他们需要查看并控制线路上真实的字节内容,而不仅仅是 SDK 返回的响应。

Busymate 的 proxy-server 位于你的客户端与真实 API 之间。每个请求都会被实时捕获,而在 iOS 和 Chrome 抓包中运行的同一套阻止/模拟/丢弃规则引擎在这里同样适用——因此你可以用预设响应回答一个真实请求,或者干脆丢弃它,而完全不需要触碰后端。

如何解决

一个 PAC 网址, 背后是完整的工具集

无需 SDK,无需安装代理程序——任何能指向代理的客户端都已经完成集成。

在线路层模拟、拦截或丢弃

使用直接运行在代理内部的规则,用你自己的状态码、响应头和响应体来回应匹配的请求——或直接丢弃它——所有这些都发生在请求真正到达 API 之前。

断点、编辑、重发

在请求进行中暂停,手动编辑原始 HTTP,然后继续或重发——无需写一行测试代码即可复现竞态问题或格式错误的负载。

导出为 HAR,或通过 REST 访问

将精确的交换过程导出为 HAR 文件供队友或问题报告使用,或通过基于 PostgREST 的简单 REST API 访问同样的抓包数据——两种方式都无需 SDK。

涉及的平台
  • Proxy
  • Dashboard
  • REST
  • MCP

操作演示

从不稳定的客户端到 可复现的 bug 报告

两端代码都无需修改。

  1. 01

    将客户端指向代理

    从这一个 PAC 自动配置网址来配置客户端——无论是手机、浏览器、后端服务还是 CI 任务。流量会立即开始传输。

  2. 02

    复现故障

    模拟该接口返回你需要的异常响应,或设置断点在请求继续之前手动编辑真实的请求或响应。

  3. 03

    导出或查询结果

    将交换记录导出为 HAR 附加到 bug 报告,或通过 REST API 从你的测试套件中拉取同样的抓包条目。

在代理服务器上

它如何工作: 在线路层面

一个代理服务器位于你的客户端和真实 API 之间;规则就在它内部运行。

  1. 01

    把客户端指向你的代理

    每台设备都有自己的代理身份和一个代理自动配置 URL。把这个 URL 粘贴到手机的 Wi-Fi 设置、浏览器配置文件,或后端、CI 任务读取的 HTTP 代理变量中,它的请求就会立即出现在仪表盘的流中。

  2. 02

    编写规则,或暂停请求

    打开一条记录,选择下一次应该发生什么:用你自己的状态码、响应头和响应体回应请求,丢弃它,或设置断点让下一个匹配的请求在途中暂停。手动编辑原始请求或响应,然后继续或重新发送。

  3. 03

    把这次交互交给别人

    把请求和响应导出为 HAR 文件用于错误报告,或在测试套件中通过 REST API 读取同样的捕获记录。两者携带的都是线路上传输的真实字节,而不是 SDK 的解读。

常见问题

把客户端指向代理之前, 常见的几个问题

我的客户端需要 SDK 或改代码吗?

不需要。任何能指向 HTTP 代理的东西都已经集成好了——手机、浏览器、后端服务、CI 任务。代理负责捕获和规则;你的客户端继续与它以为的真实 API 对话。

能只模拟一个端点,其余保持真实吗?

可以。规则按主机和路径模式匹配,所以一个端点可以返回预设的 500,而其他所有请求原样透传到真实后端。

断点会阻塞其他流量吗?

不会。只有匹配的请求会暂停;其他一切照常流动。准备好后继续、编辑或重新发送,客户端看到的结果就像服务器正常应答一样。

我的测试能读取捕获的流量吗?

可以。捕获的记录可通过一个简单的 REST API 获取,因此集成测试可以断言客户端实际发送了什么,而不是 mock 预期的内容。

别再伪造后端了—— 掌控真实的通信链路

把第一个客户端指向代理,几分钟内即可模拟、破坏或重发你的第一个请求。

Ask your mate