---
url: https://docs.ogmabox.com/zh-Hant/app/replay.md
description: 在 Ogma 重送中建立、編輯和重新傳送 HTTP 請求。
---

# 重送 {#replay}

重送讓你修改並重新傳送任何 HTTP 請求，同時追蹤每次嘗試，以便比較變更對回應的影響。

## 建立工作階段 {#creating-a-session}

重送工作階段保存一個請求及其嘗試記錄。常見的建立方式包括：

* 在 **HTTP 歷程記錄**中選擇請求，選擇**傳送至重送工具**。
* 在**自動化**中選擇結果列，選擇**傳送至重送工具**。
* 開啟**重送**並建立空白工作階段，貼上或輸入原始請求。
* 使用工作階段工具列中的**匯入**，從 API 定義產生工作階段。

每個工作階段各自獨立。開啟多個工作階段，即可同時處理不同的請求。

## 請求編輯器 {#the-request-editor}

編輯器顯示完整的 HTTP 請求：方法、URL、標頭和本文。可直接編輯任何欄位。

請依測試類型選擇請求編輯模式：

| 索引標籤 | 可編輯內容 |
| --- | --- |
| 格式化 | 帶有語法醒目提示的 HTTP 文字，並在支援時提供格式化本文。只有編輯此檢視時，格式化才會成為請求的一部分。 |
| 原始 | 可編輯的 HTTP/1.x 原始傳輸文字，包括可見的 CR/LF 跳脫字元。會傳送精確的位元組，而不會修正格式錯誤的訊息定界。 |
| 十六進位 | 對完整 HTTP/1.x 請求進行位元組層級編輯，包括二進位內容。 |
| 表單 | 本文使用支援的表單編碼時，提供欄位式編輯。 |

工具列包含方法、HTTP/TLS、目標、重新導向、Content-Length、逾時和 Cookie 來源控制項。**查詢參數**可用於新增、停用或移除查詢參數。擷取的大型本文尚未載入編輯器時，請使用**載入本文**。

原始和十六進位模式會刻意略過變數展開、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。這些選項適用於結構化傳送；原始和十六進位模式會保留提供的位元組。

使用**編輯專案 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、參數、本文範例和驗證值可能需要依你的環境調整。

匯入會產生可編輯的請求，不會執行掃描。外部結構描述參照不會被擷取，因此請將參照整合至輸入文件。匯入的路徑也會顯示在端點頁面，其來源為 API 規格，而非 HTTP 歷程記錄項目。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)
