使用 Proxyman 调试 OpenAI 服务器发送事件(SSE)

使用 Proxyman 调试 OpenAI 服务器发送事件(SSE) 的封面图

本教程将实现以下目标:

  • 下载并设置 Proxyman macOS 版
  • 启动 iOS Chat GPT 示例应用,并尝试与 GPT-4o 聊天
  • 一键设置 iOS 模拟器,使其可以使用 Proxyman 抓取 HTTPS 流量
  • 使用 Proxyman 抓取并调试 OpenAI 的 Server-Sent Events

完成本教程后,你将能够使用 Proxyman 查看 OpenAI 的 Server-Sent Events。

使用 Proxyman 抓取 OpenAI 的 Server-Sent Events,并将其格式化显示
使用 Proxyman 抓取 OpenAI 的 Server-Sent Events,并将其格式化显示

添加 SSE 和 OpenAI 自定义标签页后,调试 OpenAI 的 Server-Sent Events 就很容易了。

使用 Proxyman 格式化显示 OpenAI 的 Server-Sent Events
使用 Proxyman 格式化显示 OpenAI 的 Server-Sent Events

1. 开始使用 Proxyman

开始之前,请先确认 Mac 上已安装 Proxyman。

  1. 访问 Proxyman 官网,下载 macOS 版本。
  2. 运行安装程序,在 Mac 上安装 Proxyman。
  3. 启动 Proxyman,打开 Certificate 菜单,选择 “Install Certificate for this Mac...”。
  4. 按照屏幕上的提示完成证书安装。
  5. 确认 Proxyman 证书显示绿色对勾,表示安装成功。
安装 Proxyman 证书
安装 Proxyman 证书

完成以上步骤后:

  • Proxyman CA 证书已安装在 Mac 上,可以抓取 iOS 模拟器的 HTTPS 流量。

2. 使用 Proxyman 设置 iOS 模拟器

要抓取 iOS 模拟器的 HTTPS 流量,需要先使用 Proxyman 设置 iOS 模拟器。

  1. 打开 Xcode,下载此示例应用 GPTClientApp-iOS,并使用 iOS 18 模拟器启动它。
  2. 打开 Proxyman,进入 Certificate 菜单,依次选择 Install Certificate for iOS → Simulator。
  3. 点击 “Prepare Simulators” 按钮。
  4. 点击 “Reboot” 按钮,然后从 Xcode 重新启动 iOS 应用。
  5. 完成!现在可以使用 Proxyman 抓取 HTTPS 流量了。
使用 Proxyman 设置 iOS 模拟器
使用 Proxyman 设置 iOS 模拟器

这是使用 Proxyman 抓取 iOS 模拟器 HTTPS 流量最简单、也最推荐的方式。无需像 Charles、Fiddler 等其他 Web 代理工具那样手动设置 HTTP 代理,也无需手动信任自签名证书。

3. 使用 Proxyman 调试 OpenAI 的 Server-Sent Events

  1. 在 Xcode 中启动 iOS Chat GPT 示例应用,并尝试与 GPT-4o 聊天。这一步很关键,因为示例应用会先向 OpenAI API 发出第一个请求,Proxyman 才能将其抓取到。
  2. 打开 Proxyman → 按 Command + F 搜索 “api.openai.com” → 即可看到发往 OpenAI API 的第一个请求。
在 Proxyman 中搜索 OpenAI API
在 Proxyman 中搜索 OpenAI API
  1. 查看 Response 面板 → 点击 “Enable only this domain”。
在 Proxyman 中仅启用此域名
在 Proxyman 中仅启用此域名

这样做后,Proxyman 会抓取并解密来自 https://openai.com 的 HTTPS 流量。

  1. 现在重新启动 iOS 应用,然后开始向 GPT 提问。
  2. 此时,可以在 Response Body 中看到 Proxyman 抓取到的 OpenAI Server-Sent Events。
使用 Proxyman 抓取 OpenAI 的 Server-Sent Events
使用 Proxyman 抓取 OpenAI 的 Server-Sent Events

3.1 使用 SSE 和 OpenAI 自定义标签页提升调试效率

从 Response Body 中可以看到,Server-Sent Events 发送了大量碎片化数据,不易阅读。

Proxyman 中 OpenAI 的 Server-Sent Events
Proxyman 中 OpenAI 的 Server-Sent Events

为了便于阅读,请点击 Response Body 顶部的 “Prettify Body”。如果找不到它,请点击 Response 工具栏上的 “+” 按钮,然后从 Response 列中选择 “SSE” 和 “OpenAI”。

使用 Proxyman 格式化显示 OpenAI 的 Server-Sent Events
使用 Proxyman 格式化显示 OpenAI 的 Server-Sent Events

搞定!现在可以用更易读的格式,在 Proxyman 中查看 OpenAI 的 Server-Sent Events 了。

SSE 标签页

  • ✅ Proxyman 会保留 SSE 数据,并尝试将 JSON 数据格式化显示。
Proxyman 中的 SSE 标签页
Proxyman 中的 SSE 标签页

OpenAI 标签页

  • ✅ Proxyman 会尝试汇总 OpenAI 响应中的 content 字段,并显示最终结果,与 ChatGPT 应用中看到的效果类似。
Proxyman 中的 OpenAI 标签页
Proxyman 中的 OpenAI 标签页

3.2 接下来可以做什么?

  • Proxyman 可以抓取 iOS 真机、iOS 模拟器和 Android 设备上的 HTTPS 流量。

如果某个流看起来不完整,请检查最后一个事件、HTTP 状态以及事件之间的时间间隔。OpenAI 项目当前可能通过 Responses API 或 Chat Completions API 进行流式传输,无论使用哪种方式,Proxyman 都能帮你查看原始事件顺序。流中可能包含私密的提示词和输出内容,因此在分享日志前,请先删除其中的授权信息。


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

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

Noah Tran
Noah Tran

最后修订于 2026年7月19日。 修正了 OpenAI 相关表述,并补充了流式响应、错误和隐私检查。

让流式 API 响应更易读

使用 Proxyman 的 SSE 和 OpenAI 标签页,逐个跟踪到达的每个事件。

试用 Proxyman for macOS