想给每个接口请求加上 Authorization 头,改掉 User-Agent,删掉 Cache-Control,屏蔽某个统计 URL,或者把所有响应里的某个词换掉?逐个断点手改太慢。HTTPS Capture 的 URL 重写 可以把这些修改做成规则,在 iPhone 上自动作用于每一条匹配的请求。
打开 URL 重写
- 在抓包页点 规则 → URL 重写。
- 打开 启用重写,点 添加重写规则。
- 填写规则作用的 URL 匹配模式,选 包含 或 正则表达式,然后选择规则类型。
规则保存后立即生效。每条规则有单独的开关,也可以拖动调整顺序。
类型一:Request Header / Response Header
| 动作 | 作用 |
|---|---|
| Add / Overwrite | 设置一个 Header,已有的值会被覆盖 |
| Remove | 删除这个 Header |
| Replace | 仅当当前值和你填写的值完全相同时才替换 |
| Replace (Regex) | 替换值中匹配正则的部分,支持 $1 分组引用 |
示例:
- 给
api.example.com的请求加上Authorization: Bearer <token>。 - 覆盖
User-Agent,测试服务器对其他客户端的处理。 - 删除响应里的
Cache-Control或Set-Cookie。
所有命中的 Header 规则都会按列表顺序依次生效。
类型二:Request Body / Response Body
普通文本用 Replace,按规则匹配用 Replace (Regex)。比如把响应里的 "isPremium":false 替换成 "isPremium":true,测试会员页面。压缩过的响应会先自动解压再替换。4 MB 以内的响应 Body 可以改写,更大的响应会原样通过。
类型三:URL(屏蔽或重定向)
| 动作 | App 收到的响应 |
|---|---|
| Reject | 一个“已拒绝”的 HTML 页面,可以指定状态码,比如 403、404 |
| Reject (Tiny GIF) | 1×1 透明图片,屏蔽广告和统计像素时不会出现破图 |
| Reject (Empty Object) | JSON 格式的 {} |
| Reject (Empty Array) | JSON 格式的 [] |
| Drop Connection | 不返回任何内容,直接重置连接 |
| Redirect 302 / 301 / 307 | 重定向到你填写的地址 |
被屏蔽的请求仍然会出现在请求列表里,方便确认规则是否命中。
使用建议
- URL 匹配模式要具体。如果规则只写
.com,几乎所有请求都会受影响。 - Body 和 URL 类规则只有 第一条 命中的生效;Header 规则全部生效。
- 想把请求发到另一台服务器、同时保留路径,用 远程映射 比重定向更合适,App 完全感知不到。
- 需要条件判断(比如“只有用户 ID 是 42 时才改”),用 JavaScript 脚本。
- 不同项目的规则可以放进不同的 配置文件,互不干扰。
准备好试试了吗?
HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone
App Store 免费下载