---
url: https://docs.ogmabox.com/ja/app/replay.md
description: Ogma の再送で、HTTP リクエストを作成、編集、再送信します。
---

# 再送 {#replay}

再送では、任意の HTTP リクエストを変更して再送信できます。すべての試行を記録するため、変更がレスポンスに与える影響を比較できます。

## セッションの作成 {#creating-a-session}

再送セッションは一つのリクエストとその試行を保持します。主な作成方法は次のとおりです。

* **HTTP 履歴**でリクエストを選択し、**再送に送る**を選びます。
* **自動化**で結果の行を選択し、**再送に送る**を選びます。
* **再送**を開き、空のセッションを作成して未加工のリクエストを貼り付けるか入力します。
* セッションツールバーの**インポート**で、API 定義からセッションを生成します。

各セッションは独立しています。複数のセッションを開いて、異なるリクエストを同時に扱えます。

## リクエストエディター {#the-request-editor}

エディターには、メソッド、URL、ヘッダー、ボディを含む HTTP リクエスト全体が表示されます。どのフィールドも直接編集できます。

実施するテストに応じて、リクエストの編集モードを選択してください。

| タブ | 編集できる内容 |
| --- | --- |
| 整形 | 構文ハイライト付きの HTTP テキストと、対応する場合は整形されたボディ。このビューを編集した場合にのみ、整形がリクエストの一部になります。 |
| 未加工 | 可視化した CR/LF のエスケープを含む、編集可能な HTTP/1.x の実際の送信テキスト。不正なフレーミングを修復せず、正確なバイト列を送信します。 |
| 16 進数 | バイナリーの内容を含む HTTP/1.x リクエスト全体を、バイト単位で編集します。 |
| フォーム | ボディが対応するフォームエンコーディングの場合、フィールド単位で編集します。 |

ツールバーには、メソッド、HTTP/TLS、対象、リダイレクト、Content-Length、タイムアウト、Cookie の供給元のコントロールがあります。**クエリパラメーター**では、クエリパラメーターの追加、無効化、削除ができます。キャプチャーした大きなボディがまだエディターに読み込まれていない場合は、**ボディを読み込む**を使用します。

未加工と 16 進数のモードは、変数の展開、Cookie の置換、リダイレクト、照合・置換ルールを意図的にバイパスします。不正なリクエストのテストでも、正確なバイト列を保持するためです。これらは HTTP/1.x の送信方式であり、未加工の HTTP/2 フレームを構築する方法ではありません。通常の再送には構造化エディターを使用し、実際に何が送られたかを確認するときは、その試行を調べてください。

## 送信と試行の比較 {#sending-and-comparing-attempts}

**送信**をクリックしてリクエストを送ります。レスポンスは右側のパネルに表示されます。各送信は試行として保存され、エディターの下の**送信履歴**に表示されます。

**送信履歴**が折りたたまれている場合は展開してください。試行を選択すると、最新のレスポンスだけでなく、その試行のリクエストとレスポンスが読み込まれます。試行の操作には、自動化で開く、個別の試行を削除する、CSV をエクスポートする、試行をビューから非表示にする機能があります。非表示は削除とは異なります。

**このレスポンスを比較ツールで開く**で、比較ツールにレスポンス間の差分を表示できます。観察された差分を変更に結び付けられるよう、一度に一つのパラメーターだけを変えてください。

## 環境変数 {#environment-variables}

{{env.VAR}} で、環境、コレクション、セッションの変数を参照します。**環境**でワークスペース/グローバルとプロジェクトの値を定義し、コレクションまたはセッションの変数で局所的に上書きします。ボディ内で展開する場合は、ボディのテンプレート処理を有効にしてください。それ以外の場合はバイト列が保持されます。

変数は次の用途に便利です。

* テストセッション間で変わるトークン
* アクセス制御のテストで入れ替えるアカウント ID
* ステージングと本番で切り替えるホスト

構造化送信では、最も限定的な値が優先されます。順序はセッション、コレクション、プロジェクト、グローバルです。変数が存在しない場合はエラーになります。変換や動的な値については、[環境](./environment.md)を参照してください。

## Cookie とリダイレクト {#cookies-and-redirects}

**リクエストヘッダー**を選ぶと、セッションの Cookie ヘッダーを保持します。**Cookie ジャー**を選ぶと、プロジェクトの Cookie ジャーにある一致する Cookie を使用します。**Ogma ブラウザー**を選ぶと、埋め込みブラウザーから一致する Cookie を使用します。これらは構造化送信に適用されます。未加工と 16 進数は、指定したバイト列を保持します。

**プロジェクトの Cookie ジャーを編集**で、保存した Cookie を管理します。リダイレクトを追跡するとき、Ogma は最大 10 回まで追跡し、オリジンが変わると Authorization と Cookie ヘッダーを削除します。認証情報が転送されたと決めつけず、オリジンが変わった後に認証状態を確認してください。

## コレクション {#collections}

コレクションは関連するセッションをまとめます。特定の機能やテストシナリオに関するリクエストを整理するために作成します。

コレクションレベルの変数は、そのコレクション内のすべてのセッションに適用されるため、セッションごとではなく一度だけトークンを定義できます。

**F2** またはセッションのコンテキストメニューで、セッション名を変更します。**コレクションに移動**またはドラッグ＆ドロップでセッションを移し、コレクション内で並べ替えられます。コレクションにはサブコレクションを含められ、JSON としてエクスポート/インポートできます。**上を閉じる**と**下を閉じる**は、縦に並ぶセッション一覧を指します。

## API 定義のインポート {#importing-api-definitions}

1. セッションツールバーの**インポート**をクリックします。
2. 自己完結した OpenAPI 3.x ドキュメント、Postman v2.1 コレクション、GraphQL イントロスペクションの結果、または WSDL ドキュメントを選びます（最大 10 MB）。
3. GraphQL イントロスペクションの場合は、入力を求められたら HTTP(S) エンドポイントを指定します。
4. 送信前に生成されたコレクションとリクエストを確認してください。対象 URL、パラメーター、ボディの例、認証値は、環境に合わせた変更が必要な場合があります。

インポートは編集可能なリクエストを生成するだけで、スキャンは実行しません。外部スキーマ参照は取得されないため、参照先を入力ドキュメントにまとめてください。インポートしたパスはエンドポイントにも表示され、ソースは HTTP 履歴の項目ではなく API 仕様になります。gRPC リフレクションは対応するインポート形式ではありません。

## シーケンス {#sequences}

**シーケンス**パネルで、既存の再送セッションを少なくとも二つ選び、シーケンスに名前を付け、実行順序を並べます。シーケンスは実際のリクエストを送信します。既知の基準リクエストを使用し、完了を成功の証拠とせず、結果の状態を確認してください。シーケンスの作成で、ステップ間の認証やトークンの依存関係が自動検出されることはありません。

## 自動化に送る {#sending-to-automate}

リクエストの変化を大規模に試す場合は、セッションの**自動化に送る**を選びます。Ogma がリクエストを読み込んだ状態で自動化を開き、ペイロードリストを定義してテストを実行できます。

## WebSocket 再送 {#websocket-replay}

WebSocket 再送は、接続状態と送受信メッセージのタイムラインを備えた別のビューです。WebSocket 履歴で **WS 再送に送る**を使用し、接続した後、必要なアプリケーションレベルの初期化/認証メッセージを送ってから、変更したフレームをテストしてください。[WebSocket 再送](./ws-replay.md)を参照してください。

## AI アシスト {#ai-assist}

レスポンスの **AI で解析**を使うと、選択したリクエストとレスポンスのやり取りについて分析を依頼できます。提案されたテストや解釈は確認してください。アシスタントの説明は、それ自体で脆弱性を独立して証明するものではありません。

## 関連ページ {#related-pages}

* [自動化](./automate.md)
* [WebSocket 再送](./ws-replay.md)
* [環境](./environment.md)
* [指摘事項](./findings.md)
