Proxyman の Breakpoint で HTTP ステータスコード・ヘッダー・ボディを変更
このチュートリアルで実現することは次のとおりです:
- Proxyman macOS / Windows / Linux のダウンロードとセットアップ
- リクエストに Breakpoint を設定
- ✅ 届いたリクエストごとに、レスポンスのステータスコード、ヘッダー、ボディをその場で変更
Breakpoint ツールは、サーバーからのレスポンスを待たずに、同じリクエストに対するさまざまなレスポンスをテストしたいときに便利です。

1. Proxyman のダウンロードとセットアップ
- Proxyman の Web サイト から Proxyman macOS / Windows / Linux をダウンロードします
- Proxyman をインストールします
- Proxyman を開き、Certificate メニュー → Install Certificate for this Mac... を選択します
- 画面の指示に従って証明書をインストールします
- Proxyman 証明書に緑のチェックマークが付いていることを確認します

2. 使用するデバイスに Proxyman をセットアップ
必要な手順は、テスト対象のデバイスによって異なります。以下に各要件をまとめます:
2.1 iOS デバイス
- Certificate メニュー → Install Certificate on iOS → Physical Devices を開きます
- 手順に従って、iOS デバイスに証明書をインストールして信頼(Trust)してください
2.2 iOS シミュレータ
- Certificate メニュー → Install Certificate on iOS → Simulators... を開きます
- 手順に従って、iOS シミュレータに証明書をインストールして信頼(Trust)してください

2.3 Android デバイス
- Certificate メニュー → Install Certificate on Android → Physical Devices を開きます
- 手順に従って、Android デバイスに証明書をインストールして信頼(Trust)してください
2.4 Android エミュレータ
- Certificate メニュー → Install Certificate on Android → Emulators... を開きます
- 手順に従って、Android エミュレータに証明書をインストールして信頼(Trust)してください

2.5 NodeJS / Python / Golang / Ruby / PHP / ...
- バックエンドのテストはとても簡単です。Setup メニュー → Automatic Setup を開き、お好みのターミナルを選んで、新しいターミナルを開くだけです。
- そのターミナルで、いつもどおりバックエンドサーバーを起動してください。Proxyman がバックエンドサーバーのすべての HTTPS 通信を自動的にキャプチャします。

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 がキャプチャしていることを確認しましょう。
- ターミナルアプリを開き、次の 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
- Proxyman に戻ると、リクエストがキャプチャされていることが表示されます。

HTTP レスポンスが表示されない場合は、Response パネルの「Enable on this domain」ボタンをクリックし、cURL をもう一度実行してみてください。
- では、上記のリクエストに Breakpoint ルールを作成しましょう。リクエストを右クリックし、Tools → Breakpoint を選択するだけです。Proxyman が上記のリクエスト用の Breakpoint ルールを自動的に作成します。
- 「On Response」のチェックボックスをオンにし、「On Request」はオフのままにします

- いよいよテストです。ターミナルアプリを開き、同じ cURL コマンドをもう一度実行してください。
- このタイミングで、新しい Breakpoint Editor が開きます。Response パネルでは、次の操作ができます:

- レスポンスのステータスコードを変更

- レスポンスのヘッダーを変更

- レスポンスのボディを変更

- 「Execute」ボタンをクリックして変更を適用します。
- 完了です。
ターミナルを確認すると、レスポンスが変更されていることがわかります。

3. 次のステップ
- Breakpoint ツールでは、URL、メソッド、ヘッダー、ボディなどの HTTP リクエストも変更できます。
- Breakpoint ツールの欠点は、ブレークポイントに当たるたびに、HTTP リクエスト、ヘッダー、ボディを手動で変更しなければならないことです。時間がかかります ❌
- 自動化したい場合は、Script Tool と、役立つスニペットコードの一覧をご覧ください
再現可能なテストのためのヒント
必要なホスト、パス、メソッドを正確に指定して、ルールをできるだけ狭く設定してください。こうすると、他のリクエストは通常どおり処理されます。同じエラーを何度もテストする場合は、値を Breakpoint Templates に保存するか、完全に再現可能な結果を得るために Map Local や Scripting を使ってください。後で行うテストに影響しないように、テストが終わったらルールをオフにしてください。
関連記事
Proxyman は、開発者が iOS デバイス、iOS シミュレータ、Android デバイスの HTTPS 通信をキャプチャできる、高性能な macOS / Windows / Linux アプリです。
ダウンロードはこちら:https://proxyman.com
