HarmonyOS 鸿蒙Next charles可以抓取http的包,无法抓取https的包
HarmonyOS 鸿蒙Next charles可以抓取http的包,无法抓取https的包
真机上证书信任界面需要通过hdc命令调起,可参考如下:
hdc shell aa start -a MainAbility -b com.ohos.certmanager
一、 PC端Charles导出证书,点击 Help—>SSL Proxying—>Save Charles Root Certificate
二、 导入系统根证书至手机:
方案【1】:启动证书安装器进行指定pem证书安装: 1) 将Charles导出的pem文件hdc file send到手机存储器内 2) hdc shell aa start -a MainAbility -b com.ohos.certmanager 启动证书安装器 3) 选择从存储设备安装,选择指定pem证书
方案【2】:替换CA证书,证书路径为沙箱映射路径,系统预设CA证书位置:/etc/ssl/certs/cacert.pem,将Charles导出的pem文件hdc file send到此路径下(目前仅支持后缀名为.pem的文本格式证书);
三、安装Charles证书到PC系统可信目录,操作步骤: 点击 Help—>SSL Proxying—>Install Charles Root Certificate—>安装证书—>选择证书存储路径为:受信任的根证书颁发机构
四、设置代理,操作步骤:
1)点击 Proxy—>SSL Proxy Settings—>在Include添加 : 和 *:443
2)点击 Proxy—>Proxy Settings—>勾选Enable transparent HTTP proxying
五、鸿蒙App开发时,HTTP请求HttpRequestOptions参数设置:
1)设置usingProxy为true,表示使用HTTP代理;
2)设置caPath为"/etc/ssl/certs/charles-ssl-proxying-certificate.pem"(示例),如默认使用系统预设CA证书目录:/etc/ssl/certs/cacert.pem,也需要手动设置
六、将手机与PC连接在同一局域网下,手机连接WiFi时,点击代理设置(手动),设置代理IP,端口为Charles监听的端口,在上述步骤四的Proxy Settings中可以查看和修改;
七、打开charles,开始抓包:
模拟器抓包目前安装完证书但是抓不到接口,暂时还不支持,您可以直接用真机抓包的,真机的功能更全面一点
更多关于HarmonyOS 鸿蒙Next charles可以抓取http的包,无法抓取https的包的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next环境中,使用Charles抓取HTTPS包时遇到问题,通常是因为SSL/TLS代理设置未正确配置或证书未正确安装。以下步骤可尝试解决该问题:
-
启用SSL代理:
- 在Charles设置中,确保已启用“SSL Proxying”。
- 配置具体的Host和Port,或使用通配符匹配目标HTTPS流量。
-
安装Charles根证书:
- 在鸿蒙设备上,通过浏览器访问
chls.pro/ssl
下载并安装Charles根证书。 - 确保证书安装到设备的系统信任存储中,而非仅浏览器信任。
- 在鸿蒙设备上,通过浏览器访问
-
检查网络配置:
- 确保鸿蒙设备配置为通过Charles的代理服务器访问网络。
- 检查防火墙或网络策略是否允许设备通过代理进行SSL/TLS通信。
-
重启Charles和设备:
- 有时更改设置后需要重启Charles和鸿蒙设备以确保所有设置生效。
-
验证Charles日志:
- 查看Charles的SSL Proxying日志,检查是否有错误或警告信息。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。此链接提供进一步的技术支持渠道。