Proxyman Breakpoint で HTTP リクエスト/レスポンスを編集
この小さなチュートリアルでは、Breakpoint ツールを使って HTTP リクエスト(HTTP メソッド、スキーム、ホスト、ポート、パス、クエリ)を変更する方法を解説します。
Breakpoint ツール
Breakpoint ツールは Proxyman で最もよく使われる機能の一つです。クライアント側のロジックを変更することなく、リクエストとレスポンスのデータをその場で編集できます。
次の一覧では、できることをすべて挙げています。
- リクエスト URL の編集(スキーム、ホスト、パス、ポート、HTTP メソッドを含む。Proxyman 2.35.4 以降で利用可能)
- リクエスト/レスポンスの HTTP ヘッダーを編集
- リクエストのクエリまたはフォームの項目を編集
- Authorization / Cookie / Set-Cookie ヘッダーを編集
- リクエスト/レスポンスの HTTP Body を編集
- レスポンスの HTTP ステータスコードを変更
レスポンスを編集
レスポンスデータ(ヘッダー、ステータスコード、Body を含む)を編集したい場合は、こちらのチュートリアルをご覧ください:iOS アプリのリクエスト/レスポンスを Breakpoint でインターセプトして編集する
GraphQL リクエストを編集
Proxyman では、GraphQL リクエストの特定の QueryName に対してブレークポイントを設定できます。詳しくは GraphQL のドキュメント をご覧ください。
URL リクエストを編集
Proxyman 2.35.4 からは、(HTTP メソッド、スキーム、ホスト、ポート、パス、クエリ)を簡単に編集できるようになりました。このブログでは、この機能に焦点を当てます。
1. Breakpoint ルールを作成
Breakpoint ルールを作成するには、まずリクエストを送信します。次に、リクエストを右クリックして、Tools -> Breakpoint の順に選択します。

Proxyman は Breakpoint ルールの作成画面を表示し、すべてのデータが自動で入力されています。必要があれば変更するか、CMD+Return を押してルールを作成するだけです。

2. URL を編集
この状態でもう一度リクエストを送信すると、Proxyman はそのリクエストを停止し、リクエストの内容を編集できる Breakpoint ウィンドウを表示します。
次のスクリーンショットのように、URL のテキストフィールドで HTTP メソッド、スキーム、ホスト、ポート、パス、クエリを自由に編集できます。

変更内容に問題がなければ、Execute ボタンをクリックするか、ショートカット CMD+Return で実行できます。
また、リクエストをキャンセルまたは中止することもできます。
次のステップ
Breakpoint を使うと、リクエスト/レスポンスをその場で編集できますが、手作業が多くなります。
自動化したい場合は、次の機能もご覧ください。
- Map Local:ローカルファイルをレスポンスとして自動的にマッピングします。
- Scripting:JavaScript コードでリクエスト/レスポンスを編集できる強力な機能です。よくある作業の例は、Snippet Code にまとめています。
関係のないリクエストで停止しないように、Breakpoint ルールではホストとパスを狭く指定してください。繰り返し行う変更には、Breakpoint Template を使うと、同じ値を毎回入力し直す必要がなくなります。単に、あるホストへのすべてのリクエストを別の環境へ送りたいだけなら、Map Remote の方が簡単です。ルーティングの変更を自動的に適用してくれるためです。
Proxyman は、開発者が HTTP(S) のリクエストやレスポンスを簡単にキャプチャ、確認、編集できる、ネイティブで高性能な macOS アプリです。
