Skip to content

iPhone 离线回放接口响应:录制一次,断网也能调试 App

先录下一次真实请求,再用 HTTPS Capture 的服务端回放返回这些响应,飞行模式下也能用。支持抓包会话和 HAR 文件。

2 分钟阅读HTTPS Capture

逐个 Mock 接口适合小范围测试。如果后端挂了、测试环境被重置,或者你现在没有网络,又想让整个 App 照常跑起来,HTTPS Capture 的 服务端回放 更合适:先录一次真实流量,之后命中的请求都由 HTTPS Capture 用录好的响应来回答。

服务端回放的原理

回放库 保存了一个会话或一个 HAR 文件里的请求和响应。开启回放后,每条新请求按方法和 URL 在库里查找,命中就在本地返回录制的响应,不会访问真实服务器。被回放的请求在列表里带紫色 Replay 标记。

第一步:录制会话

  1. 开始抓包,正常使用 App,把需要离线使用的页面都走一遍。
  2. 停止抓包。

第二步:创建回放库

任选一种方式:

  • 在会话列表里长按会话,选 创建回放库。
  • 或者进入 规则 → 服务端回放,点 +,选 从会话创建… 或 导入 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

准备好试试了吗?

HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone

App Store 免费下载