在设备不安装Charles的证书时,使用Charles录制https请求经常会提示连接不是私密连接,甚至移动端app中引用的是https地址时,录制会遇到无法继续访问的情况,此时需要安装Charles的证书以便设备信任地址,然后录制https请求的过程才可以继续下去,下列以windows和移动端ios设备为例:在设备不安装Charles的证书时,使用Charles录制https请求经常会提示连接不是私密连接:
Chrome:
IE和office插件的嵌入式预览:
如果忽略证书安全问题继续前往访问,经常会遇到某些图片资源显示不正常的问题,甚至移动端app或者第三方集成中使用的是https地址时,相关的页面完全不显示的情况,此时需要在设备上安装Charles的证书以便信任地址,录制https请求的操作才能继续,下面以windows和移动端ios、Android设备为例。
windows
在浏览器地址栏输入smartbi地址访问时,一般只要参考Charles抓取HTTPS的数据包就可以录制https请求,但在第三方系统集成https环境smartbi的场景下,需要安装证书才能正常录制,具体流程如下:
1、 打开Charles,配置Charles证书:
...
点击“完成”,弹出如下提示:
点击“是”,提示导入成功,完毕。
...
移动设备
以下配置方法适用于如下场景:
1、smartbi app设置的服务器地址是https类型;
2、手机浏览器访问https地址的smartbi;
3、企业微信等第三方app在集成https环境的smartbi且需要录制集成smartbi时的请求。3、第三方app(企业微信等)或第三方手机网站在集成https环境的smartbi且需要录制集成smartbi时的请求。
ios
具体配置流程如下:
1、 在移动设备上配置手机代理并安装证书
确定ios设备连接的无线网络和电脑所在的网络在同一个局域网,然后在手机上设置代理:设置—>无线网络,设置服务器ip和端口号:确定ios设备连接的无线网络和电脑所在的网络在同一个局域网,然后在手机上设置代理:设置—>无线网络,在HTTP代理→手动下面的输入框设置服务器ip和端口号:
然后,手机安装证书:
...
然后手机浏览器输入如上地址:http://charlesproxy.com/getssl会弹出如下页面:
点击安装即可,安装完成后就变成已验证,如下:
安装完证书后,使用ios设备访问https环境的地址能正常录制charles。
2、为什么ios手机安装好charles证书还是抓不到https请求?
因为你的ios系统应该是10可能因为你的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”,用途无需更改,然后确定
确定后可以在系统安全-用户凭据中找到安装的证书。