跳至主要內容

WebSocket 重送 ​

WebSocket 重送可建立能重複使用的工作階段,用於測試 WebSocket 端點。你可以使用擷取的交握詳細資料重新連線、編輯訊息、傳送新訊框,並觀察伺服器回應。

建立工作階段 ​

有兩種建立 WebSocket 重送工作階段的方式:

  • 在 WS/SSE 歷程記錄中,於擷取的 WebSocket 訊息上按一下滑鼠右鍵,選擇傳送至 WS 重送工具。
  • 開啟 WS 重送,使用 ws:// 或 wss:// URL 手動建立工作階段。

手動建立的工作階段可包含自訂標頭,用於 Cookie、授權權杖、協定協商,或應用程式專屬的交握值。

工作階段設定 ​

欄位說明
名稱易於閱讀的工作階段標籤。
URLWebSocket 端點。URL 必須以 ws:// 或 wss:// 開頭。
標頭連線時傳送的選填交握標頭。

若變更 URL 或標頭,Ogma 會在開啟下一個連線前儲存工作階段。

連線 ​

選擇工作階段,按一下連線。連線狀態會顯示通訊端是未連線、正在連線、已開啟、正在關閉,還是已關閉。

切換目標或變更交握詳細資料前,請使用中斷連線。編輯 URL 或標頭後重新連線,測試新的伺服器路徑或已通過驗證的環境。

連線只會完成 WebSocket 交握。許多應用程式之後還需要驗證或初始化訊框,才會接受業務訊息。請以擷取的第一則用戶端訊息作為基準,等待其確認回覆後,再傳送修改的訊息。擷取的 Cookie、附有簽章的 URL 和權杖可能已過期。

傳送訊息 ​

使用訊息編輯區編輯酬載,並透過選取的工作階段傳送。文字酬載會以 WebSocket 文字訊框傳送。

要傳送十六進位位元組,請切換至二進位模式。重送擷取的第一則 WebSocket 訊息有助於重新傳送初始化訊息,依序重送擷取的對外訊息則會依序傳送擷取的用戶端訊息。請在時間軸中檢查回覆,不要假設傳送序列就已重建應用程式狀態。

協定編輯器支援原始 WebSocket 和受管理的 GraphQL 模式(graphql-transport-ws 和舊版 graphql-ws)。請選擇目標使用的協定,並提供其連線參數。必要時保留原始子協定標頭;要求錯誤的協定可能導致升級失敗。

更新時間戳記預設關閉。只有未簽章的請求需要新時間戳記時才啟用:變更附有簽章的 URL 或酬載可能使簽章失效。自動重新連線會在連線中斷後重試,但新的連線仍可能需要應用層驗證。

從歷程記錄傳送的擷取訊息,會保留原始酬載作為起點,讓你能一次變更一個欄位並比較行為。

訊息時間軸 ​

時間軸記錄所選工作階段傳送和接收的訊框。

欄位說明
方向訊框是由用戶端傳送,還是從伺服器接收。
操作碼訊框類型,例如 text、binary、ping、pong 或 close。
大小酬載大小。
時間Ogma 觀察到訊框的時間。

選擇訊息即可檢視其酬載。JSON 酬載會在可行時格式化;原始內容仍可用於精確檢查。

測試流程 ​

  1. 在 WS/SSE 歷程記錄中擷取正常的 WebSocket 互動流程。
  2. 將值得注意的用戶端訊息傳送至 WS 重送。
  3. 重新連線並重新傳送原始訊息,確認基準行為。
  4. 每次修改一個欄位、權杖、ID 或指令。
  5. 在檢測發現中記錄已確認的行為,或在筆記中保留記錄。

疑難排解 ​

症狀檢查內容
升級被拒絕或禁止URL、Origin、Cookie、授權,以及已過期的附有簽章的查詢值。
子協定無效或未要求將升級標頭與擷取的交握及所選協定模式進行比較。
連線成功後關閉檢查系統/關閉訊息,並傳送必要的初始化或驗證訊框。
訊息已傳送,但沒有有用的回覆確認訂閱 ID、先前的訊息、驗證和應用程式狀態;WebSocket 傳輸不會自動重建瀏覽器工作階段。

使用 MCP 時,請使用專用的 WS 重送訊息清單/讀取工具和中斷連線工具。擷取歷程記錄工具讀取的是另一份通訊記錄;請參閱 MCP 工具參考。

專有軟體。保留所有權利。