您的位置 首页 > 腾讯云社区

【经验总结】charles + SwitchyOmega 代理 https---JSCON简时空

为了能让 Charles 代理 HTTPS,之前到网上看了很多教程,曾经自己捣鼓过,不过一直都没能成功,索性就不弄了。

这两天为了debug,不得不代理 https 的请求,经过半天的折腾竟然成功了。为了让以后自己不那么费劲,就写了这篇文章总结。

本文环境:

charles 版本:4.2.6chrome 版本:70.0.3538.77(正式版本)SwitchyOmega 版本:2.5.201、安装证书

安装证书

安装成功后,能在系统 钥匙串访问 中找到所安装的证书:

成功安装

此时证书有可能是不被信任的状态,我们通过双击将其更改成 始终信任:

始终信任

2、配置代理

在 Charles 中配置代理规则:

配置代理

3、设置代理规则

将 charles 中的代理规则复写到 SwitchyOmega 的匹配规则里:

设置代理规则

为了让 https 生效,需选择 Socket5 代理协议,端口填写 8889

4、开启 SSL 代理

上述 3 步操作已经完成 charles 的代理工作,剩下的就是对请求进行开启代理。

以访问百度(https://www.baidu.com)为例,打开 charles 后捕获到的请求如下:

捕获请求发现 unknown 请求

注意截取的请求内容都是 <unknown>,而且图标是一个 加锁 的图标。

通过右键 Enable SSL Proxying,让我们开启对百度首页的 HTTPS 代理:

开启 SSL 代理

再次访问百度首页,就能看到请求现在成功被代理了,图标也从加锁状态变更成 互联网 图标了:

成功代理 HTTPS

注意,如果你通过右键 Enable SSL Proxying 后,刷新提示的是链接不安全:

链接不安全

那么也不需要担心,有可能是证书安装失效导致的,将证书删除后重新安装一遍,就能解决了。(参考第一步的操作)

5、Tips:批量添加 SSL 匹配规则

上述我们通过 Enable SSL Proxying 针对每个网站开启 SSL 代理,其实就是添加了一条匹配规则而已:

添加的一条匹配规则

我们还可以使用通配符,比如对淘宝域名下的页面都开启 SSL 代理:

通过通配符开启代理

这样访问淘宝页面后,就能看到 *.taobao.com 的资源进行代理了:

正常访问指定页面

REFERENCE

参考文档

mac环境下使用Charles抓包Https请求:包含了 mac 和 ios 端对 https 抓包的支持HTTP/HTTPS抓包工具Charles:主要看一下如何设置 HTTPS 抓包 ---来自腾讯云社区的---JSCON简时空

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: