Charles抓取https
步骤一:将Charles的根证书(Charles Root Certificates)安装到Mac上。
步骤二:Mac信任Charles的根证书。
将使用此证书时,改成“始终信任”,然后点关闭按钮,接下来会让你输入密码,然后直接填写密码即可。
步骤三:将Charles证书安装到移动设备上。
Help -> SSL Proxying -> Install Charles Root Certificate On a Mobile Device or Remote Browser...
这时候会弹出一个框,在移动设备的浏览器输入弹框中提供的URL就可以安装Charles证书(这时候需要移动设备已经设置代理)。
在移动设备的浏览器中输入上面的URL后会弹出一个确认框,点击“允许”跳转到“设置”页面,安装描述文件即可。
步骤四:移动设备信任Charles证书。
设置 -> 通用 -> 关于本机 -> 证书信任设置
步骤五:Charles设置“Enable SSL Proxying”
Proxy -> SSL Proxying Settings...
在弹出框中选中“Enable SSL Proxying”,然后填入需要抓包的HTTPS的Host和Port,如果需要抓取所有HTTPS,则Host填入“*”,Port一般填“443”即可。
可能遇到的问题:
SSLHandshake: Remote host closed connection during handshake
You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
解决办法:
-
首先用Mac的浏览器打开HTTPS网页,如果出现访问失败的情况,则是因为Mac没有信任Charles的根证书。这时执行上面的步骤二即可。
-
如果Mac的浏览器可以正常打开HTTPS网页,则说明Mac已经信任了Charles的根证书,这时候可能是因为移动设备没有信任Charles证书。这时执行上面的步骤四即可。
转自:https://www.jianshu.com/p/468e2905a3e1