# Proxyman Breakpoint（断点）

> 使用 Proxyman Breakpoint 暂停 HTTP 请求和响应，并在其继续传输之前实时编辑 URL、Headers、状态码或 Body。

## 1. 这是什么？ {#1-whats-it}

Breakpoint 是一款实用工具，可帮助开发者**实时**编辑请求和响应的内容。

可对**请求**、**响应**或两者同时设置断点。

![Proxyman Breakpoint 规则编辑器，包含匹配规则以及 Request 和 Response 复选框](https://proxyman.com/docs/assets/Screenshot%202026-06-28%20at%2019.24.05.jpg)

_创建 Breakpoint 规则_

> **备注:** 如果正在使用 [Atlantis Framework](https://proxyman.com/docs/zh-cn/atlantis/atlantis-for-ios)，则无法使用 Breakpoint。请改用普通代理。

## 视频 {#video}

[Video: 使用 Breakpoint 修改请求和响应](https://proxyman.com/videos/breakpoint-tool) (30 seconds)

## 2. 主要功能 {#2-main-features}

Breakpoint 工具会暂停发出的请求或收到的响应，方便修改其数据。

* 修改请求 URL，包括 Scheme、Host、Path、Port 和 HTTP Method
* 修改请求/响应的 HTTP Headers
* 修改请求中的 Query 或 Form 条目。
* 修改 Authorization、Cookie 和 Set-Cookie Headers。
* 修改请求/响应的 HTTP Body
* 修改响应的 HTTP 状态码。

![Proxyman Breakpoint 窗口已暂停在一个 POST 请求上，可编辑 Headers，并显示 Apply &#x26; Execute 按钮](https://proxyman.com/docs/assets/proxyman-breakpoint-window-edit-request.jpg)

_修改 Headers、URL、状态码和 Body_

### 原始 HTTP 消息 {#raw-http-message}

从 Proxyman macOS 6.12.0 开始，可切换到 Raw 标签页修改请求/响应的 HTTP 消息，并在同一处编辑所有数据。

![Proxyman Breakpoint Raw 标签页，显示有效的 POST 请求消息，包含 Headers 和 JSON Body](https://proxyman.com/docs/assets/proxyman-breakpoint-raw-tab.jpg)

_编辑原始 HTTP 消息_

### Breakpoint 操作 {#breakpoint-actions}

| 操作                   | 说明                                                                                                                         |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Continue Original (⌘.) | 忽略修改，并使用原始数据继续请求/响应                                                                                    |
| Drop Connection (⌘\\)  | 中止断点并停止连接。点击旁边的箭头 -> **Abort Mode**，可改为返回 429 或 503 状态码                                           |
| Apply & Execute (⌘⏎)   | 使用修改后的数据发送请求/响应                                                                                                    |

> **备注:** 查看 Breakpoint 教程：[使用 Breakpoint 拦截并编辑 iOS 应用中的请求和响应](https://proxyman.com/posts/2019-09-15-Use-Breakpoint-to-intercept-and-edit-request-response-on-iOS-app)

## 3. 通过 Scripting 工具使用 Breakpoint ✅ {#3-breakpoint-by-the-scripting-tool-}

如果希望自动修改请求，可以使用 [Scripting](https://proxyman.com/docs/zh-cn/scripting/script#1-whats-it) 工具。它能达到与 Breakpoint 相同的效果，而且通过编写 JavaScript 代码的方式更灵活。

请参阅 [Scripting 代码片段](https://proxyman.com/docs/zh-cn/scripting/snippet-code#2-common-on-request-and-response)，了解如何使用 Scripting 实现 Breakpoint。

## 4. 对 GraphQL 请求使用 Breakpoint {#4-breakpoint-with-graphql-requests}

从 Proxyman 2.27.0 起，Breakpoint 可以通过特定的 QueryName 处理 GraphQL 请求。请参阅以下 GraphQL 文档。

- [GraphQL 调试](https://proxyman.com/docs/zh-cn/advanced-features/graphql)

## 5. 使用方法 {#5-how-to-use}

可按以下方式创建 Breakpoint 规则：

1. 首先确保 Proxyman 能够抓取 HTTPS 请求。
2. 右键点击请求 -> **Tools** -> **Breakpoint…**
3. Proxyman 会打开 Breakpoint 规则窗口，并自动填入匹配规则。
4. 选择对 Request、Response 或两者设置 Breakpoint。
5. 点击 **Add** 创建规则。
6. 再次发送该请求。Proxyman 会打开 Breakpoint 窗口，此时可以修改数据。
7. 点击 **Apply & Execute** 发送请求/响应。

## 了解更多 {#learn-more}

* [使用 Proxyman Breakpoint 工具修改 HTTP 请求/响应](https://proxyman.com/posts/2021-12-31-Modify-URL-Request-With-Breakpoint)
* [如何为测试修改 HTTP 响应状态码、Header 或 Body](https://proxyman.com/posts/change-response-status-code-header-for-testing)
* [使用 Breakpoint 工具修改 GraphQL 请求](https://proxyman.com/posts/2023-03-16-GraphQL-Request-With-Breakpoint)
