---
url: https://docs.ogmabox.com/zh/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)
