如何用 Proxyman 修改 HTTP 响应状态码、响应头和响应体

如何用 Proxyman 修改 HTTP 响应状态码、响应头和响应体 的封面图

本教程将完成以下内容:

  • 下载并设置 Proxyman macOS / Windows / Linux 版
  • 为请求设置 Breakpoint
  • ✅ 为每个传入请求实时修改响应状态码、响应头或响应体

如果你想针对同一个请求测试不同的响应,而无需等待服务器返回结果,Breakpoint 工具会非常有用。

修改响应状态码、响应头或响应体以进行测试
修改响应状态码、响应头或响应体以进行测试

1. 下载并设置 Proxyman

  1. 从 Proxyman 官网 下载 Proxyman macOS / Windows / Linux 版
  2. 安装 Proxyman。
  3. 打开 Proxyman,进入 Certificate 菜单 → Install Certificate for this Mac...
  4. 按照提示安装证书。
  5. 确认 Proxyman 证书上显示绿色对勾标记。
安装 Proxyman 证书
安装 Proxyman 证书

2. 为你的设备设置 Proxyman

具体设置取决于你要在哪种设备上测试。以下列出了所有要求:

2.1 iOS 设备

  1. 进入 Certificate 菜单 → Install Certificate on iOS → Physical Devices
  2. 按照全部步骤在 iOS 设备上安装并信任证书。

2.2 iOS 模拟器

  1. 进入 Certificate 菜单 → Install Certificate on iOS → Simulators...
  2. 按照全部步骤在 iOS 模拟器上安装并信任证书。
在 iOS 模拟器上安装 Proxyman 证书
在 iOS 模拟器上安装 Proxyman 证书

2.3 Android 设备

  1. 进入 Certificate 菜单 → Install Certificate on Android → Physical Devices
  2. 按照全部步骤在 Android 设备上安装并信任证书。

2.4 Android 模拟器

  1. 进入 Certificate 菜单 → Install Certificate on Android → Emulators...
  2. 按照全部步骤在 Android 模拟器上安装并信任证书。
在 Android 模拟器上安装 Proxyman 证书
在 Android 模拟器上安装 Proxyman 证书

2.5 NodeJS / Python / Golang / Ruby / PHP / ...

  1. 对于后端测试,操作非常简单。只需进入 Setup 菜单 → Automatic Setup → 选择你常用的终端 → 打开新的终端窗口。
  2. 在该终端中,像平常一样启动后端服务即可。Proxyman 会自动抓取后端服务的所有 HTTPS 流量。
为你的设备设置 Proxyman
为你的设备设置 Proxyman

3. 为请求设置 Breakpoint

现在来创建一条 Breakpoint 规则。

假设我们有这样一个请求,URL 为 https://httpbin.org/post?id=proxyman&action=change_response,请求体如下:

{
  "name": "Proxyman",
  "id": 123,
  "details": {
    "address": "123 Main St, Anytown, USA",
    "phone": "123-456-7890",
    "email": "hi@proxyman.com"
  }
}

我们希望将响应状态码改为 201,新增一个响应头 X-Proxyman-Test: true,并将响应体改为:

{
  "name": "Get API",
}

在创建 Breakpoint 规则之前,需要先确认 Proxyman 能够抓取上述请求的流量。

  1. 打开终端应用,运行以下 cURL 命令(请确保 Proxyman 正在运行)
curl -X POST https://httpbin.org/post?id=proxyman&action=change_response -d '{"name": "Proxyman", "id": 123, "details": {"address": "123 Main St, Anytown, USA", "phone": "123-456-7890", "email": "hi@proxyman.com"}}' --proxy localhost:9090
  1. 回到 Proxyman,你会看到该请求已被抓取。
抓取 cURL 请求
抓取 cURL 请求

如果看不到 HTTP 响应,请尝试点击响应面板上的 “Enable on this domain” 按钮,然后重新运行 cURL 命令。

  1. 现在为上述请求创建 Breakpoint 规则:右键点击该请求,选择 Tools → Breakpoint,Proxyman 会自动为该请求创建一条 Breakpoint 规则。
  • 勾选 “On Response” 复选框,并保持 “on Request” 复选框不勾选。
创建 Breakpoint 规则
创建 Breakpoint 规则
  1. 现在开始测试。打开终端应用,重新运行相同的 cURL 命令。
  2. 此时会打开新的 Breakpoint 编辑器。在响应面板中,你可以:
Breakpoint 编辑器
Breakpoint 编辑器
  • 修改响应状态码
修改响应状态码
修改响应状态码
  • 修改响应头
修改响应头
修改响应头
  • 修改响应体
修改响应体
修改响应体
  1. 点击 “Execute” 按钮以应用更改。
  2. 完成。

查看终端,你会看到响应已被修改。

修改响应状态码、响应头或响应体
修改响应状态码、响应头或响应体

3. 下一步

  • Breakpoint 工具同样允许你修改 HTTP 请求,包括 URL、方法、请求头、请求体等。
  • Breakpoint 工具的一个缺点是,每次命中断点时都必须手动修改 HTTP 请求、请求头和请求体,非常耗时 ❌
  • 如果你想实现自动化,可以查看 Scripting 工具 以及所有实用的 代码片段。

可重复测试的小技巧

尽量缩小规则范围,精确匹配所需的 host、path 和 method,这样其他请求就能正常通过。如果需要反复测试同一种错误,可以将这些值保存为 Breakpoint Template,或者使用 Map Local 或 Scripting 来获得完全可重复的结果。测试结束后请关闭该规则,以免影响之后的测试。

延伸阅读


Proxyman 是一款高性能的 macOS/Windows/Linux 应用,帮助开发者抓取 iOS 设备、iOS 模拟器和 Android 设备上的 HTTPS 流量。

前往 https://proxyman.com 获取。

Noah Tran
Noah Tran

最后修订于 2026年7月17日。 新增关于安全规则、可重复测试和 Breakpoint Templates 的建议。

测试应用应当处理的每一种响应

暂停请求、修改其响应,并在不改动服务器的情况下检查各种错误状态。

试用 Proxyman