移动端Charles抓取https包

一、安装charles抓包工具
二、配置Charles,允许抓取https包
Proxy->SSL Proxying Settings…,勾选Enable SSL Proxying,Add一个locations,通过通配符* 抓取所有域名的https。(如果想只抓取某个域名的,设置具体域名的即可)
image.png
image.png
三、PC端Charles安装https证书
Help->SSL Proxying ->Install Charles Root Certificate,然后在钥匙串中信任证书即可

如果想要抓取pc端的接口请求勾选上macOS proxy就可以了
image.png

四、手机端手机端配置PC的代理并下载Charles的证书
首先需要手机连接到与当前电脑同一个wifi局域网,对该wifi网络进行高级设置-代理:
代理服务器主机名:使用PC的本机IP地址
代理服务器端口:使用Charles设置的Port值,默认是8888,可以在下图proxy Settings查看端口号
image.png
image.png
然后确定保存,第一次配置完代理,PC端会弹窗询问是否允许代理,点击allow
image.png

这时我们的手机就已经挂上代理了。你也可以这么通过add添加
image.png
image.png

挂上代理了之后手机端需要在浏览器中访问chls.pro/ssl 下载证书
www.charlesproxy.com/getssl/
image.png
image.png
ios10以上系统不会自动信任证书,需要在设置->通用->关于本机,信任安装的证书

现在客户端环境下,我们已经可以随时调试本地的H5代码了。
Charles结合nginx和ihost开发,在nginx代理的时候在开启charles用手机访问开发文件可能访问不到,可能是自制证书不信任的问题,需要对nginx和chrome做特殊处理
设置本地 nginx 的 HTTPS(证书设置信任)