逐个 Mock 接口适合小范围测试。如果后端挂了、测试环境被重置,或者你现在没有网络,又想让整个 App 照常跑起来,HTTPS Capture 的 服务端回放 更合适:先录一次真实流量,之后命中的请求都由 HTTPS Capture 用录好的响应来回答。
服务端回放的原理
回放库 保存了一个会话或一个 HAR 文件里的请求和响应。开启回放后,每条新请求按方法和 URL 在库里查找,命中就在本地返回录制的响应,不会访问真实服务器。被回放的请求在列表里带紫色 Replay 标记。
第一步:录制会话
- 开始抓包,正常使用 App,把需要离线使用的页面都走一遍。
- 停止抓包。
第二步:创建回放库
任选一种方式:
- 在会话列表里长按会话,选 创建回放库。
- 或者进入 规则 → 服务端回放,点 +,选 从会话创建… 或 导入 HAR…。
从 Chrome、Charles 等工具导出的 HAR 也可以导入。新建的库会自动设为当前库,但回放总开关保持 关闭,需要你手动打开,避免流量在不知情的情况下被改变。
第三步:开启回放
在 服务端回放 页面打开 启用服务端回放。现在打开 App 试试,开着飞行模式也行,录过的页面都会从回放库加载。
匹配选项
- 复用响应:默认开启,每次都返回同一条响应。关闭后,每条录制的响应只按顺序返回一次,适合模拟“第一次失败、第二次成功”这类流程。
- 刷新日期头:把
Date、Expires、Last-Modified和 Cookie 过期时间平移到当前时间,避免缓存和 Cookie 被判断为过期。 - 匹配请求正文:同时比对请求 Body,适合同一个 URL 用不同 POST Body 的接口。
- 忽略主机 / 忽略端口:把录制内容用在另一个环境上。
- 忽略的查询参数(点 Add Parameter 添加):填写
timestamp、nonce、sign这类每次都变的参数名。参数顺序不同会自动视为相同。
请求不在库里怎么办
在 未命中时 里设置处理方式:
- 转发到服务器:默认值,照常发往真实服务器。
- 断开连接:直接断开。
- 返回状态码:返回一个空响应,状态码自定,比如 404。
查看回放库
点开一个库可以看到全部录制条目,包括方法、状态码、URL 和 Body 大小;点开条目能查看完整的 Header 和 Body。可以保存多个库,点一下就能切换当前库。
服务端回放和请求映射怎么选
手写某一个具体响应,用 请求映射;回放一整个录制下来的后端,用服务端回放。
准备好试试了吗?
HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone
App Store 免费下载