如何使用 Proxyman Map Local 工具修改 HTTP 响应
这篇简短的技术文章将介绍 Map Local 工具是什么,以及它如何帮助我们快速修改响应。
希望 Proxyman 能帮你大幅提升调试效率 👏。

1. Map Local 工具
Map Local 工具可以让你将本地文件的内容用作请求的响应,前提是请求与你设置的规则相匹配。
Map Local 工具能显著提升开发速度,无需在服务器上显式更新数据,就能快速测试多种边界场景。如果你想用各种响应来测试应用的行为,它也是 QA 和开发人员必备的工具。
2. 修改 HTTP 响应的好处
在调试过程中,有很多场景需要尝试各种类型的响应,以测试设备或应用中的布局和内容:
- 快速尝试响应中的新参数。
- 用响应中的不同参数测试应用的行为。
- 用特殊内容测试 UI 布局。
- 测试本地化。
- 用响应中的特定参数快速复现 Bug。

3. 工作原理
-
当传入请求的 URL 与预先定义的匹配规则相符,并且本地文件有效时,这些匹配请求的响应体会自动替换为本地文件的内容。
-
如果请求与任何规则都不匹配,则响应的全部内容仍来自服务器。

4. 匹配规则
你只需组合使用 Wildcards 和 Include subdirectories 选项,即可定义规则。

-
Top-Down Matching:传入请求会按从上到下的优先级进行匹配。列表顶部的规则会最先被评估。
-
星号 ( * ):匹配任意字符,出现零次或多次。例如,“api.proxyman.com/v1/*” 可以匹配以 “api.proxyman.com/v1/” 开头的任何内容,如 “api.proxyman.com/v1/login”、“api.proxyman.com/v1/data” 以及 “api.proxyman.com/v1/” ……
-
问号 ( ? ):恰好匹配一个字符。例如,“api.proxyman.com/v?/login” 可以匹配 api.proxyman.com/v1/login 和 api.proxyman.com/v2/login。
-
Include subdirectories:所有子目录都会自动匹配。如果你想匹配某个域名下的所有路径,这个选项非常方便。例如,在 “Include subdirectories” 开启的情况下,“api.proxyman.com” 会匹配所有以 “api.proxyman.com” 为域名的 URL,如 “api.proxyman.com”、“api.proxyman.com/v1/data”、“api.proxyman.com/login”、“api.proxyman.com/user?name=nghia” ……
-
HTTP / HTTPS include:默认情况下,“api.proxyman.com” 会匹配所有使用 HTTP 或 HTTPS 协议的请求。若只想匹配某一种协议,则可以使用 “http://api.proxyman.com”(只匹配 HTTP)或 “https://api.proxyman.com”(只匹配 HTTPS)。
6. 其他功能
Map Local 工具还提供了多种快速管理规则列表的方式,并支持快捷键。
- ⌘ + ⌥ + L:快速打开 Map Local 窗口。
- ⌘ + N:新建条目
- ⌘ + E:编辑条目
- ⌘ + D:复制条目
- ⌘ + ⌫:删除条目
- 支持多选条目
- 可以快速在 Finder 或你收藏的编辑器中打开本地文件。
- 所有更改都会立即生效,无需保存。
- 对于匹配的响应,“Content-Type” 会自动替换为本地文件的类型,例如 application/json、image/png、image/jpg 等……这样应用就能正确处理该响应。

7. 使用方法
打开 Map Local 工具的方式有很多种。如果从 Domains 或 flow 中打开 Map Local 工具,它会自动填入匹配规则。

实用提示
把最具体的规则放在宽泛规则的上面,这样它会被优先检查。对于匹配路径很多的 API,Map Local 还可以使用一个本地目录,而不必逐个指定文件。请确保模拟文件的内容与其 Content-Type 相符,然后在完成前分别测试正常响应、空响应和错误响应。
Proxyman 是一款高性能的 macOS 应用,可帮助开发者抓取并查看来自 iOS 设备、iOS 模拟器以及 Android 设备上应用和域名的 HTTP/HTTPS 请求。
前往 https://proxyman.com 获取。
