使用 Proxyman Diff 工具对比 2 个 HTTP 请求/响应
在测试应用时,你有时可能需要对比两个响应(或请求),看看它们是否存在差异,以及它们的属性和值是否完全一致。本篇小教程将演示如何使用 Proxyman Diff 工具对比请求和响应。
1. Proxyman Diff 工具
- Diff 工具是 Proxyman 中使用最频繁的功能之一,开发者可以从 URL、Method、状态码、Cookie、JSON 正文等方面对比两个请求或响应。
- 对比的两个请求或响应可以以 Side by side(并排)或 Unified(统一)模式显示。
- 你还可以将 Diff 工具与 Highlight and Comment 工具结合使用,记录对比结果。
- 你也可以导出 Diff 文件,然后用 FileMerge 等其他工具打开。

2. 如何使用 Proxyman Diff 工具
- 在 Proxyman 主窗口中,选中所有要对比的请求。

- 通过 右键 -> Tools -> Add to Diff pool 将选中的请求添加到 Diff 池中(也可以使用快捷键 ⌘Y)。

- 分别在左侧和右侧面板中选择 2 个请求,开始对比。
2.1 对比 2 个请求
Diff 工具最常见的用途是对比响应。
- 在 Diff 窗口中,在 Response 上选择 Diff。

- Proxyman 会高亮两个响应之间的差异,例如 Set-cookie、Runtime 等,尤其是响应正文中的 JSON 数据。
2.2 对比 2 个响应
要快速对比请求,请按以下步骤操作:
- 在 Diff 窗口中,在 Request 上选择 Diff。

- Proxyman 会显示两个请求之间的差异,例如 Content-length、Cookie、query 等。
2.3 在“Side by side”和“Unified”模式之间切换
在下拉菜单中选择选项,即可以 Side by side(并排)或 Unified(统一)方式显示对比结果。
- 以下是选择 Side by side 模式后显示的视图。

- 以下是选择 Unified 模式后显示的视图。

2.4 添加备注和高亮
当对比结果与预期不符时,你可以使用 Highlight and Comment 功能记录错误。
下面是将 Diff 工具与 Highlight and Comment 功能结合使用的示例:
- 右键点击请求,选择 Add Comment >> 记下预期结果(也可以使用快捷键 ⌘L)。


- 右键点击请求,选择 Highlight >> 选择高亮颜色。

这样就能用醒目的颜色轻松标记失败或成功的请求和响应,方便你写报告或进一步排查。

2.5 导出 Proxyman Diff 文件
你可以导出 Diff 文件,与同事分享。
在 Diff 窗口右下角点击 Share 按钮 >> Undiff >> 选择保存路径,并为 Diff 文件重命名。

2.6 使用其他工具打开 Diff 文件
之后,你可以使用 Postman 或 File Merge 等其他工具打开 Diff 文件。
今天的内容就到这里。祝调试愉快!
让对比结果更易读
尽量让两次调用紧挨着抓取,并保持请求的输入参数一致。时间戳、请求 ID、Cookie 和 Token 等值通常每次调用都会变化,因此在寻找真正的差异之前,先记下这些值。并排视图适合查看 JSON 的小幅改动;统一视图通常更便于在 Bug 报告中分享。
Proxyman 是一款高性能的 macOS 应用,可帮助开发者抓取并检查 iOS 设备、iOS 模拟器和 Android 设备上应用与域名的 HTTP(s) 流量。

Noah Tran
