🕸捕获与改写HTTPS请求

前言

本文站在 macOS 用户的角度下,分享一下对 HTTPS 进行请求拦截、对响应进行修改的经验。

要注意的是,本文介绍的工具虽然一定程度上对 Windows 用户也适用 ,但并非所有工具都是免费的。

Proxyman

Proxyman可以免费使用,在安卓/IOS手机上也有相应的解决方案,如果只是监测请求,查看 API 请求头及响应体,这个足够了。

Charles

Charles 是收费的,而且要安装 Java 环境,但它厉害的地方在于,可以改写网络(如修改响应头),因此值得一买。

唯一的缺点就是,官方文档不太好友,界面有一定上手难度,好在文本已有图文并茂的说明。

安装与设置

  • 安装SSL证书

  • 点击安装后,在界面搜索 Charles,找到刚刚安装的证书,点击 总是信任

  • SSL代理设置

改写网络

下面的例子展示了如何改写 HTTPS 请求的响应头。

  • 点击左上角,Structure
  • 找到想改写的请求,右键,点击 Breakpoints

  • Breakpoints Settings

  • 双击编辑详情

  • 取消 Request 的勾选

  • 刷新页面,请求将会被拦截,处理 Pending 状态

  • 此时可以编辑响应

  • 最终,客户端收到的是被改写后的响应

参考