---
url: https://docs.ogmabox.com/zh-Hant/app/intercept.md
description: 使用 Ogma 攔截暫停、編輯、轉送或捨棄 HTTP 與 WebSocket 流量。
---

# 攔截 {#intercept}

攔截會在轉送前將流量暫停在代理佇列中，讓你手動閱讀和編輯每個請求或回應。

## 啟用和停用攔截 {#enabling-and-disabling-intercept}

按一下攔截面板頂端的**攔截**開關，開啟或關閉攔截。開啟時，符合條件的流量會停在佇列中，不會立即通過。關閉時，所有流量會自動轉送，不會暫停。

未主動檢查流量時，請停用攔截。若保持開啟卻無人處理佇列，會阻塞瀏覽器請求，導致受測應用程式停滯。

## 攔截佇列 {#the-intercept-queue}

每個暫停的項目都會在佇列中顯示為一列，依到達順序排隊。選擇任一項目，即可在原始編輯器中查看和編輯。

選取項目後，你可以：

1. 直接在編輯器中編輯原始請求。
2. 按一下**轉送**，傳送編輯後的請求。
3. 按一下**捨棄**，完全捨棄請求。瀏覽器會收到連線錯誤。

## 在原始編輯器中編輯 {#editing-in-the-raw-editor}

原始編輯器顯示完整的 HTTP 請求，包括方法、路徑、版本、標頭和本文。所有欄位都可編輯。按一下**轉送**時，變更才會生效。

測試時常見的編輯操作：

* 變更參數值，測試輸入處理。
* 移除或取代授權標頭，測試存取控制。
* 修改 Cookie 值，測試工作階段處理。
* 替換數字 ID，測試物件層級授權失效。

## HTTP 攔截規則 {#http-intercept-rules}

沒有規則時，攔截會暫停每個請求。規則可將佇列限制為你實際想檢查的流量。

指定一個或多個條件，即可建立規則：

| 欄位 | 說明 |
| --- | --- |
| 主機模式 | 比對主機名稱或萬用字元模式 |
| 路徑模式 | 比對 URL 路徑或萬用字元模式 |
| 方法 | 比對特定 HTTP 方法 |
| 方向 | 套用至請求、回應或兩者 |

規則中的所有條件都必須符合，規則才會生效。加入多條規則時，符合任一規則的流量都會被攔截。

## WebSocket 攔截規則 {#websocket-intercept-rules}

WebSocket 規則的運作方式相同，但套用至 WS 訊框流量。WS 規則可使用以下條件：

| 欄位 | 說明 |
| --- | --- |
| 主機模式 | 比對 WS 連線的主機名稱 |
| 路徑模式 | 比對 WS 升級路徑 |
| 訊息內容 | 比對訊框酬載中的子字串 |
| 操作碼 | 比對訊框類型（text、binary、ping、pong、close） |
| 方向 | 套用至用戶端到伺服器的訊框、伺服器到用戶端的訊框，或兩者 |

## 攔截與比對與取代 {#intercept-vs-match-replace}

攔截和比對與取代都能修改流量，但運作方式不同。

**攔截**會暫停流量並等待你的操作。需要針對每個請求決定如何修改時，請使用此功能。

**比對與取代**會自動套用轉換，不會暫停。同一項變更應套用至每個符合條件的請求，而且不需要每次手動操作時，請使用此功能。

## 相關頁面 {#related-pages}

* [HTTP 歷程記錄](./http-history.md)
* [比對與取代](./match-replace.md)
* [測試範圍](./scope.md)
