Proxyman で OpenAI の Server-Sent Events をデバッグ
このチュートリアルで行うこと:
- Proxyman macOS をダウンロードしてセットアップする
- iOS 向け Chat GPT サンプルアプリを起動し、GPT-4o でチャットを試す
- ワンクリックで iOS Simulator を Proxyman 用にセットアップし、HTTPS をキャプチャできる状態にする
- Proxyman で OpenAI の Server-Sent Events をキャプチャしてデバッグする
このチュートリアルの最後には、Proxyman で OpenAI の Server-Sent Events を確認できるようになります。

SSE と OpenAI のカスタムタブを使えば、OpenAI の Server-Sent Events を簡単にデバッグできます

1. Proxyman を始める
始める前に、Mac に Proxyman がインストールされていることを確認しましょう。
- Proxyman の Web サイト にアクセスし、macOS 版をダウンロードします。
- インストーラを実行し、Mac に Proxyman をセットアップします。
- Proxyman を起動し、Certificate メニューから「Install Certificate for this Mac...」を選択します。
- 画面の指示に従って、証明書のインストールを完了します。
- Proxyman の証明書に緑のチェックマークが表示されていることを確認します。

上記の手順に従うと:
- Proxyman の CA 証明書が Mac にインストールされ、iOS Simulator の HTTPS 通信をキャプチャできる状態になります。
2. Proxyman で iOS Simulator をセットアップ
iOS Simulator の HTTPS 通信をキャプチャするには、Proxyman と iOS Simulator を連携させる必要があります。
- Xcode を開き、このサンプルアプリ GPTClientApp-iOS をダウンロードして、iOS 18 Simulator で起動します。
- Proxyman を開き、Certificate メニュー → Install Certificate for iOS → Simulator を選択します。
- 「Prepare Simulators」ボタンをクリックします。
- 「Reboot」ボタンをクリックし、Xcode から iOS アプリを再起動します。
- 完了です。これで Proxyman で HTTPS 通信をキャプチャできます。

これは、Proxyman で iOS Simulator の HTTPS 通信をキャプチャする、最も簡単でおすすめの方法です。Charles、Fiddler などの他の Web プロキシツールのように、HTTP プロキシを手動で設定したり、自己署名証明書を信頼したりする必要はありません。
3. Proxyman で OpenAI の Server-Sent Events をデバッグ
- Xcode で iOS 向け Chat GPT サンプルアプリを起動し、GPT-4o とチャットを試します。これは重要な手順です。サンプルアプリが最初に OpenAI API へリクエストを送信するため、Proxyman でキャプチャできるようになります。
- Proxyman を開き、Command + F で「api.openai.com」を検索します。OpenAI API への最初のリクエストが表示されます。

- Response Panel を確認し、「Enable only this domain」をクリックします。

こうすると、Proxyman は https://openai.com からの HTTPS 通信をキャプチャして復号するようになります。
-
iOS アプリを再起動し、GPT に質問してみてください。
-
この時点で、Proxyman の Response Body に OpenAI の Server-Sent Events が表示されます。

3.1 SSE と OpenAI のカスタムタブでデバッグしやすくする
Response Body を見ると、Server-Sent Events は細切れのデータを大量に送信しているため、読みにくいことがわかります。

読みやすくするには、Response Body の上部にある「Prettify Body」をクリックします。見つからない場合は、Response ツールバーの「+」ボタンをクリックし、Response カラムから「SSE」と「OpenAI」を選択してください。

できました! Proxyman で OpenAI の Server-Sent Events が、より読みやすい形式で表示されるようになりました。
SSE タブ
- ✅ Proxyman は SSE のデータをそのまま保持しつつ、JSON データを整形して見やすくします。

OpenAI タブ
- ✅ Proxyman は OpenAI のレスポンスの content キーを連結し、最終的な結果を表示します。ChatGPT アプリで見られる表示に近いものです。

3.2 次のステップ
- Proxyman は、iOS 実機、iOS Simulator、Android 実機の HTTPS 通信をキャプチャできます。
ストリームが途中で止まっているように見える場合は、最後のイベント、HTTP ステータス、イベント間の時間を確認してください。現在の OpenAI プロジェクトでは、Responses API または Chat Completions API を通じてストリーミングされる場合があります。どちらの場合も、Proxyman を使えばイベントの生の順序を確認できます。ストリームには非公開のプロンプトや出力が含まれることがあるため、ログを共有する前に認証情報を削除してください。
Proxyman は、開発者が iOS 実機、iOS Simulator、Android 実機の HTTPS 通信をキャプチャできる、高性能な macOS/Windows/Linux 向けアプリです。
https://proxyman.com からダウンロードできます。
