メインコンテンツまでスキップ

Proxyman for iOS の Breakpoint チュートリアル

Proxyman for iOS の Breakpoint を使ったステップバイステップのチュートリアルです。iPhone 上で HTTP(s) の通信を一時停止し、URL、メソッド、ヘッダー、ボディ、ステータスコードを編集する方法を解説します。

Proxyman Breakpoint で iPhone 上の HTTP(s) リクエストとレスポンスを変更する​

バージョン 2.0.0 以降、Proxyman for iOS では、アプリのロジックを変更することなく、リクエストとレスポンスのデータをその場で変更できます。

この短いチュートリアルでは、Proxyman の Breakpoint ツールを使って、iOS デバイス上の HTTP(s) リクエストとレスポンスを変更する方法を紹介します。例えば、次のような変更ができます:

  • リクエストの URL(スキーム、ホスト、パス、ポートを含む)と HTTP メソッドを変更する
  • リクエストまたはレスポンスの HTTP ヘッダーを変更する
  • リクエストのクエリを変更する
  • リクエストまたはレスポンスの HTTP ボディを変更する
  • レスポンスの HTTP ステータスコードを変更する

前提条件​

Breakpoint ルールを作成する​

Breakpoint ルールを作成する方法は 3 つあります:

  1. More タブから
  • More タブ → Breakpoint → + ボタンをタップします。
  • ルールの項目(Title、Method、Matching URL、サブパスを含めるかどうか)を入力します。
  • ルールをリクエスト、レスポンス、またはその両方のどれに適用するかを選択します。
  1. 「Waiting Breakpoints」画面から
  • Waiting Breakpoint アイコンをタップして、Create Breakpoint Rule を選択します。
  • その後、ルールの項目を入力します(前の方法と同じです)。
  1. コンテキストメニューから
  • リクエストを長押しして、Add to Breakpoint List を選択します。
  • Proxyman が、選択したリクエストからルールの項目をすべて自動で入力します。
Add to Breakpoint List を含む Proxyman for iOS のコンテキストメニュー。httpbin.org が入力された Breakpoint ルールが開く

リクエストから Breakpoint ルールを作成する

この例では、Breakpoint ルールはリクエストとレスポンスの両方に適用されます。それでは、リクエストを送信して動作を確認してみましょう。

HTTP(s) リクエストを変更する​

URL に一致するリクエストを送信すると、Proxyman がそのリクエストを一時停止し、待機中の Breakpoint があることを表示します。Home 画面の小さなアイコンをタップすると、待機中の Breakpoint の一覧が表示されます。次に Breakpoint を選択して、リクエストの編集を開始します。

URL とメソッドを変更する​

HTTP メソッド、URL、クエリを変更できます。クエリを変更すると URL も更新され、その逆も同様です。

編集済みの URL クエリと HTTP メソッドのメニューが開いている Proxyman for iOS の Breakpoint リクエストエディタ

URL と HTTP メソッドを変更する

ボディを変更する​

ボディを別のデータ型に置き換えると、Proxyman が Content-Type を検出し、ヘッダーを自動で更新します。

Breakpoint を実行、中止、続行する​

変更内容に問題がなければ、右上のメニューからリクエストまたはレスポンスを実行します。元のリクエストのまま進めるには Continue、キャンセルするには Abort を使います。

Breakpoint ルールはリクエストとレスポンスの両方に適用されるため、Execute をタップすると、レスポンスが待機中の Breakpoint の一覧に追加されます。

これで、レスポンスの HTTP ステータスコードを変更したり、ヘッダーを更新したり、ボディを置き換えたりできます(リクエストを変更する場合と同じ方法です)。

うまくできました!フロー一覧では、小さな青いアイコンが、そのフローが変更されたことを示します。

リクエストとレスポンスの両方が、想定どおりに更新されました。

Breakpoint によって実行されたリクエストの詳細と、新しいレスポンスボディが表示されている Proxyman for iOS

Breakpoint によってリクエストとレスポンスが変更された状態

補足:

  • 新しいルールを作成すると、Breakpoint ツールとルールはどちらもデフォルトで有効になります。必要に応じて、それぞれオン・オフを切り替えられます。
  • Breakpoint が動作するよう、VPN、Breakpoint ツール、Breakpoint ルールがすべて有効になっていることを確認してください。
  • 最初のルールがリクエストまたはレスポンスに一致した場合、他のルールは適用されません。
  • リクエストを編集している間は Response タブが無効になります。レスポンスを編集している間は、Request タブは読み取り専用になります。

次のステップ​

Breakpoint を使うと、リクエストとレスポンスをその場で変更できますが、手作業が多くなります。自動化したい場合は、Map Local for iOS チュートリアルをご覧ください。ローカルファイルをレスポンスとして自動でマッピングできます。