在设备不安装Charles的证书时,使用Charles录制https请求经常会提示连接不是私密连接:

Chrome:

IE和office插件的嵌入式预览:

如果忽略证书安全问题继续前往访问,经常会遇到某些图片资源显示不正常的问题,甚至移动端app或者第三方集成中使用的是https地址时,相关的页面完全不显示的情况,此时需要在设备上安装Charles的证书以便信任地址,录制https请求的操作才能继续,下面以windows和移动端ios、Android设备为例。

windows

在浏览器地址栏输入smartbi地址访问时,一般只要参考Charles抓取HTTPS的数据包就可以录制https请求,但在第三方系统集成https环境smartbi的场景下,需要安装证书才能正常录制,具体流程如下:

1、 打开Charles,配置Charles证书:

 

2、安装证书:

弹出安装证书

 

点击安装证书,进入证书导入向导:

下一步,选择“将所有的证书放入下列存储”,然后点击“浏览”:

 5、选择“受信任的根证书颁发机构”,然后点击“确定”。

确定后,显示如下:

 点击“下一步”:

 点击“完成”,弹出如下提示:

点击“是”,提示导入成功,完毕。


移动设备

以下配置方法适用于如下场景:

1、smartbi app设置的服务器地址是https类型;

2、手机浏览器访问https地址的smartbi;

3、第三方app(企业微信等)或第三方手机网站在集成https环境的smartbi且需要录制集成smartbi时的请求。

ios

具体配置流程如下:

1、 在移动设备上配置手机代理并安装证书

确定ios设备连接的无线网络和电脑所在的网络在同一个局域网,然后在手机上设置代理:设置—>无线网络,在HTTP代理→手动下面的输入框设置服务器ip和端口号:

      

然后,手机安装证书:

     

会弹出一个提示框,如下:

     

然后手机浏览器输入如上地址:http://charlesproxy.com/getssl会弹出如下页面:

     

点击安装即可,安装完成后就变成已验证,如下:

    

安装完证书后,使用ios设备访问https环境的地址能正常录制charles。

2、为什么ios手机安装好charles证书还是抓不到https请求?

可能因为你的ios系统是10.0以上的系统,

在手机设置---通用---关于本机----证书信任设置,在此页面把证书开启即可。

    

Android

1、 在移动设备上配置手机代理并安装证书

确定Android设备连接的无线网络和电脑所在的网络在同一个局域网,然后在手机上设置代理:设置—>WLAN/wifi,点击当前连接的wifi查看详情,找到代理,选择手动,设置主机ip和端口号,如下以小米手机miui10系统为例:

其中主机名ip配置安装了charles的电脑所在的ip,端口默认是8888

2、手机安装证书:

     

会弹出一个提示框,如下:

     

然后浏览器输入如上地址:http://charlesproxy.com/getssl或者http://chls.pro/ssl 浏览器会下载一个charles-proxy-ssl-proxying-certificate .pem文件,然后将该文件发送到手机上的指定目录,如图:


打开手机设置-更多设置-系统安全-从存储设备安装,找到证书文件存放的路径:

点击该证书,会提示你输入证书的名字,可以命名为“Charles”,用途无需更改,然后确定


确定后可以在系统安全-用户凭据中找到安装的证书。