配置 Charles 证书
配置 Charles 证书
现在基本大部分网站都使用了 https,所以要想抓到 https 的请求,首要任务是先有工具:charles、fiddler,先介绍下 charles 针对 https 请求的抓取方法,此方法兼容 windows 和 mac 用户(mac 用户方法类似)。
windows 配置 Charles 证书
windows 下安装 charles,看到此文章的用户相信都已经安装了 charles,如果还真的没安装,麻烦就自行搜索,进行安装了,打开 charles(我使用的 charles 版本是 4.5.4),再继续浏览。
注:Charles**:https://www.zzzmode.com/mytools/charles/
charles 已准备完成,接下来就要配置 charles 证书:
之后会弹出安装证书:
点击安装,一路下一步,直到提示“导入成功”
此时证书还是不被信任的,让不信任变成信任:打开 IE 浏览器 —>工具 —> Internet 选项 —> 内容 —> 证书 —> 把中级证书颁发机构中的 charles 证书导出来 —> 再把导出来的证书导入到受信任的根证书颁发机构中。这样就 ok 了。
配置抓取HTTPS 端口,Proxy --> SSL Proxying Settings
Charles问题之Windows10下抓取https包,出现unknown
手机上配置 Charles 证书
在手机上设置代理:设置 —> 无线网络,设置服务器 ip 和端口号:
然后,手机安装证书:
会弹出一个提示框,如下:
然后手机浏览器输入如上地址:http://charlesproxy.com/getssl 会弹出如下页面:
点击安装即可,安装完成后就变成已验证,如下:
接下来需要设置信任证书,在手机设置→关于本机→证书信任设置里信任该证书
验证
下面以访问百度 wap 站点为例:
上图看到,访问百度 wap 站点还是看不到 https 的请求数据,下面还需要再继续配置:
点击 SSL Proxying Settings,弹出下面的框,输入 Host 填写要抓取的 ip 或域名,* 号表示所有 ip 或域名,port 填写 443 即可。
设置完成后,重新方位百度 wap 站点就可以抓取到 https 请求了
遇到问题
最近发现 ios 使用 charles 进行 https 的 mock 会提示客户端证书有误。请遇到的同学按照 charles 上的 help 安装手机证书后,在 ios 设备的设置 → 通用 → 关于本机 → 证书信任设置里面启用完全信任 Charles 证书,亲测可解决。 有遇到的同学可以试试
最近发现有人在安装完 Charles 后抓取请求是没有 response 返回值,如下图:
遇到这种情况时按照下图所示方法更改下配置即可
以上亲测有效