之前文章讲的数据包主要是http协议,大家可以看到数据包并直接显示具体详细的内容:

charles 抓取python程序报错 charles抓取https请求_软件测试

 

但是如果抓到的是https的报文,是没有办法直接显示的,你将看到的是乱码:

charles 抓取python程序报错 charles抓取https请求_自动化测试_02

 

那怎么抓取https的数据报文并正常显示报文内容信息呢?

 

第一步:安装证书

 

如果需要抓取并分析 Https 协议的数据报文,需要先安装 Charles 的 CA 证书。具体步骤如下:

 

1、点击 Charles 的顶部菜单,选择 “Help” –> “SSL Proxying” –> “Install Charles Root Certificate”

 

然后输入系统的帐号密码,即可在 KeyChain 看到添加好的证书。如下图所示:

charles 抓取python程序报错 charles抓取https请求_测试工程师_03

 

第二步:安装浏览器证书

 

charles 抓取python程序报错 charles抓取https请求_测试工程师_04

 

charles 抓取python程序报错 charles抓取https请求_自动化测试_05

 

根据提示信息,需要先下载证书,再安装到浏览器中。

 

所以,在浏览器地址栏输入“chls.pro/ssl”地址去下载证书,得到的证书如下:

 

charles 抓取python程序报错 charles抓取https请求_性能测试_06

然后在浏览器中安装这个下载好的证书,此处以chrome为例:

 

charles 抓取python程序报错 charles抓取https请求_测试工程师_07

第三步:开启SSL 代理

 

点击【Proxy】—> 【SSL proxying Settings】可以打开如下对话框:

charles 抓取python程序报错 charles抓取https请求_自动化测试_08

 

勾选“Enable SSL Proxying”,并在Include区域点击“Add”新建地址,在Host和Port区域填上“*”,表示匹配所有,那么就可以抓取所有的https数据报文。

 

抓取https报文

 

现在,所有配置都完成了,可以开始抓https报文了!

 

如下图所示,https数据包抓取后可以直接解密了,能够看到具体报文内容:

charles 抓取python程序报错 charles抓取https请求_测试工程师_09