“连 Wi-Fi 能登录,用流量就失败。”“昨天的版本还是好的。”排查问题时,经常要找出两条本该一样的请求 到底哪里不同。几十个 Header 加一大段 JSON,靠肉眼对比太费时间。HTTPS Capture 在 iPhone 上提供了 对比 视图,直接高亮差异。
开始对比
任选一种方式:
- 在请求列表里 长按 一条请求,从它开始对比,然后选第二条请求。
- 点请求列表工具栏上的对比按钮。
在对比页里点 Swap Sides 可以交换 A、B 两边;用 Replace Side A / Replace Side B 可以换一条请求,不用从头开始。用 URL 或状态码 搜索,可以很快找到想对比的请求。
对比哪些内容
页面最上方的 摘要 告诉你两条请求是否完全相同、差异在哪几块。下面分区展示:
- 请求:URL、查询参数、Header、Body
- 响应:状态码、Header、Body
- 时序:DNS、连接、TLS、等待、下载各阶段 A、B 并排显示,一眼看出哪条慢、慢在哪里
按字段对比 JSON
两边都是 JSON 时,按 字段 对比,而不是逐行对比。修改的值、新增和删除的键都会高亮,即使格式或键的顺序不同也不影响。其他文本 Body 按行对比,大段相同的行会自动折叠。太大、无法逐行对比的 Body 会按大小和内容做比较。
打开 Differences Only(只看差异),可以隐藏两边相同的部分,只看改动。差异里的 A 值、B 值或某一行都可以单独复制。
常见用法
- 成功和失败的请求对比:找出缺的 Header、过期的 Token 或不同的参数。
- 版本发布前后对比:看 App 更新后接口调用变了什么。
- 快的和慢的对比:通过耗时对比判断慢在 DNS、建连,还是服务端处理。
- 两台设备或两个账号对比:同一个操作抓两次,看具体差在哪里。
下一步
找到差异后可以马上验证:用 编辑并发送 改掉那个值重新发一次,见 iPhone 上发送和重放 API 请求。想让修改作用于实时流量,就加一条 重写规则。
准备好试试了吗?
HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone
App Store 免费下载