有时光看流量不够,还需要当场改一改。比如把响应里的价格改成 0,把请求里的用户 ID 换掉,或者把 200 改成 403 看 App 怎么处理。HTTPS Capture 的 断点 可以在 iPhone 上暂停实时的请求或响应,手动修改后再发出去。
断点的原理
请求命中断点规则后,HTTPS Capture 会先把它扣住:
- 请求断点:请求发到服务器之前暂停,你决定之前什么都不会发出去。
- 响应断点:等服务器的完整响应到达后暂停,App 收到之前由你处理。
暂停期间可以 放行(原样发出)、丢弃,或者 编辑并放行。
第一步:添加断点规则
- 在抓包页点 规则 → 断点。
- 打开 启用断点,点 添加规则。
- 填写 URL 匹配模式,比如
api.example.com/checkout;匹配 方式选 包含 或 正则表达式。 - 方向 选 请求 或 响应。想同时改请求和响应,就各加一条规则。
- 可以写个备注,保存后立即生效。
匹配范围尽量窄一些。如果断点设在 example.com 上,这个网站的图片和脚本也会全部被暂停。
第二步:触发请求
开始抓包,在 App 里执行对应操作。命中规则后,抓包页会出现红色的 已暂停请求 徽章,点进去就是 已暂停的请求 列表;断点配置页也有同样的入口。
每一项都会显示方向(REQ 或 RESP)、方法、状态码、URL,以及 自动放行倒计时。
第三步:放行、丢弃或修改
- 放行:原样转发。
- 丢弃:取消这条请求,App 会看到连接失败。
- 编辑并放行:打开编辑器后可以:
- 修改 Header,每行一条
Key: Value;多个Set-Cookie这类重复头会保留。 - 修改文本类 Body,比如 JSON、XML、HTML、表单或 JavaScript。gzip、deflate、Brotli 压缩的 Body 会先解压给你编辑,提交时自动重新压缩。
- 响应还可以修改 状态码(100 到 599)。
- 修改 Header,每行一条
提交后会自动重算 Content-Length,保证修改后的报文仍然有效。
注意事项
- 10 分钟自动放行:忘了处理的请求会自动放行,App 不会一直卡住;最后一分钟倒计时会变红。
- App 可能先超时:很多 App 等 30 到 60 秒就放弃了。要么改得快一点,要么把需要反复做的修改交给 重写规则 或 脚本。
- 流式响应(比如 Server-Sent Events)不适合用响应断点,因为响应要完整到达后才能暂停。
- 二进制 Body 以及超过 8 MB 的 Body 只能查看,不能编辑。
- 请求的时序数据会单独记录断点暂停的时间,时序瀑布图不会因此失真。
什么时候用其他功能
- 每次都做同样的修改,用 URL 重写 或 JavaScript 脚本。
- 想把响应整个换掉,用 请求映射。
- 想改一下已经抓到的请求再发一次,用 编辑并发送,见 iPhone 上发送和重放 API 请求。
准备好试试了吗?
HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone
App Store 免费下载