- 概述
工作需要,连接charles代理,进行数据抓取,分析,但当前app与后端交互使用https协议,连接charles后无法正常获取数据。 - 问题设备
- 型号:Redmi Note4X
- MIUI 版本:10.9.5.9
- 解决思路
- 安装charles提供安全证书
- 踩坑
3.1. 百度解决方案,手机端设置代理为PC端IP
3.2. 手机端浏览器打开chls.pro/ssl下载证书
从第2步获得的文件是xxx.crt
文件,在手机端wlan高级设置中打开该证书,
不能正确识别!
不能正确识别!
不能正确识别! - 尝试
记得以前通过不同浏览器(也可能是手机)下载的文件有的时候以xxx.pem
格式展示,我们尝试手动修改为xxx.pem
格式,修改后仍然不能正常识别,宣告尝试失败! - 正解来了
5.1. PC端Charles设置macOS proxy具体如下:
proxy ----> macOS proxy 勾选即可
5.2. PC端浏览器打开chls.pro/ssl网址,下载证书,证书名称为:
charles-proxy-ssl-proxying-certificate.pem
5.3. 手机连接PC,终端使用如下命令将证书文件推送到手机端:
adb push ./charles-proxy-ssl-proxying-certificate.pem /sdcard
注意: “./”代表证书文件所在目录
5.4. 手机端安装证书
- 点击进入手机设置项,选择wlan设置
- wlan最底部,高级设置---> 安装证书--->选择刚才的推送文件
- 设置锁屏图案或者密码,证书安装成功