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