快速上手 Proxyman
本教程将演示如何使用 Proxyman 拦截 macOS 设备发出的 HTTPS 流量。
本文将介绍以下内容:
- 如何在 macOS 上配置 Proxyman
- 如何使用 Proxyman 抓取 macOS 上的 HTTP/HTTPS 流量
- 如何使用一些调试工具,例如 Repeat、Edit & Repeat、Map Local、Map Remote、Breakpoint 等
1. 下载 Proxyman
首先,请从 https://proxyman.com 下载最新版 Proxyman,或者在当前版本中进入 "Proxyman -> Check for Update…" 直接进行 更新。
2. 安装 Proxyman Helper Tool
一启动 Proxyman,它就会:
- 自动在 System Network Preference(系统网络偏好设置)中覆盖你的 HTTP/HTTPS 代理。这非常方便,你无需任何操作即可立即看到流量。
- 提示安装 Proxyman Helper Tool。

我们强烈建议你安装 Helper Tool,因为它可以免费提供以下功能:
- 以更高性能自动覆盖 HTTP/HTTPS 代理。首次打开 Proxyman 时,你可能会察觉到这一步的性能瓶颈。
- 当应用意外崩溃时,平稳还原 HTTP/HTTPS 代理设置。
3. 尝试向 Proxyman 发出第一个请求
- 打开 Proxyman
- 打开 Google Chrome 或 Safari 浏览器,访问 https://www.google.com、https://www.producthunt.com 或任意你想访问的网站。
- 此时,你可以看到该请求已被 Proxyman 抓取。

主界面包含三个核心区域。
- Source List(左侧面板)列出所有应用和域名。
- Request List(中间面板):显示所选 Source 中的全部请求和响应。
- Content(底部面板)用于查看全部请求和响应的内容。

3. 搜索并固定你的应用或域名
你可以使用 "Ctrl+Shift+F" 快速搜索应用或域名,然后在右侧菜单中选择 “Pin”(固定)。

4. 解密 HTTP/HTTPS 请求和响应
要查看 ProductHunt 应用中以明文显示的 HTTP/HTTPS 流量,请按以下步骤操作:
- 在左侧面板中选择目标域名或应用。
- 在底部面板中为该域名或整个应用选择 “Enable SSL Proxying”。

为特定应用或域名启用 SSL 后,Proxyman 只会拦截这些特定域名的流量,其余流量则原样转发。因此,Proxyman 不会给 MacBook 的 CPU 增加负担,对 MacBook 电池的消耗也更少。
5. Proxyman CA 证书
我们了解到,其他工具的这一流程非常复杂,因此我们精心重新设计,让它变得简单。
一旦启用 SSL Proxying,Proxyman 就会弹出证书安装窗口:
你可以选择自动或手动方式安装证书。
- Automatic(自动):一步完成 Proxyman 证书的安装与信任,非常实用。
- Manual(手动):你可以手动安装并信任证书,适合高级用户。
如果你是初学者,强烈建议使用 Automatic 方式,只需点击一次即可完成。

6. 请求和响应预览
安装 Proxyman Certificate 后,正是开始调试的好时机 😋。 Proxyman 现在可以拦截 HTTPS 请求与响应,并自动以格式化的 JSON 查看器显示。
-
尝试重新加载你的网站,即可看到响应已被 Proxyman 抓取。 在 Content 面板(底部面板)中,你可以切换到:
-
Header、Query、Cookies 以及 JSON 响应
所有内容查看器都内置了原生搜索栏,因此你可以像平常一样按 Ctrl-F 来搜索或操作内容。

7. 调试工具
本节将介绍如何使用一些调试工具来帮助你调试 API。
7.1 使用新参数进行 Repeat
- 在请求上右键点击,在上下文菜单中选择 “Edit & Repeat”
- 你可以修改 URL、Method、Headers、Body,然后使用新参数发出新请求。
- 使用不同参数测试 API 非常有用。

7.2 导出 Proxyman 会话
- 在左侧面板中右键点击请求或域名,在上下文菜单中选择 Export -> Proxyman Log
- 方便与团队成员或 QA 团队分享请求 ❤️ 也可以直接将日志会话附加到 Jira、Trello 等项目管理工具中。

你也可以将当前 Proxyman 会话导出为 HAR 文件。
7.3. 使用 Multiple Filters 过滤
- 你可以按 URL、Method、Status Code 等条件过滤请求。
- 可以创建多个过滤器,并将其应用到请求列表。
- 有助于快速找到你需要的请求。

7.4 使用 Diff 工具查找两个请求/响应之间的差异
- 选中两个或多个请求,右键点击,在上下文菜单中选择 Tools -> Add to Diff Pool,随后将打开新的 Diff 窗口。
- 便于查找两个请求/响应之间的差异。

7.5 使用 Map Local 模拟 API 响应
- 选中一个请求,右键点击,在上下文菜单中选择 Tools -> Map Local,随后会打开新窗口,你可以修改 Response Body、Status Code、Headers 等内容。
- 可以用本地文件模拟 API 响应,非常实用。

7.6 使用 Breakpoint 实时修改请求和响应
- 选中一个请求,右键点击,在上下文菜单中选择 Tools -> Breakpoint -> Create a breakpoint

- 再次发送该请求,Proxyman 会在断点处暂停,此时你可以实时修改请求和响应,例如修改请求 Body、响应 Body、状态码等。

更多功能
- 你还可以使用其他工具,例如 Repeat、Edit & Repeat、Map Remote 等。
- 更多信息请参阅 Proxyman 文档。
10. 接下来做什么?
本文仅介绍 Proxyman 的基础功能,以及如何抓取 macOS 设备上的 HTTP(s) 流量。
如果你想抓取以下设备的 HTTPS 流量:
- iOS 设备:请参阅 Proxyman iOS 文档
- iOS 模拟器:请参阅 Proxyman iOS 模拟器文档
- Android 设备:请参阅 Proxyman Android 文档
- Android 模拟器:请参阅 Proxyman Android 模拟器文档
- NodeJS、Python、Ruby、PHP 等:请参阅 Proxyman HTTP/HTTPS 文档
实用更新
Proxyman 现已为 Node.js、Python、Ruby 等常见命令行应用提供 Automatic Setup(自动设置)。你还可以使用 Command Palette 快速找到工具,无需逐个翻找菜单。如果没有看到某个请求,请先查阅文档中与当前设备对应的指南,因为 Mac、手机、模拟器和命令行应用的设置方式各不相同。
Proxyman 是一款高性能的 macOS 应用,可帮助开发者抓取并检查 iOS 设备、iOS 模拟器和 Android 设备上应用与域名的 HTTP(s) 流量。
