HarmonyOS 鸿蒙Next使用中进行Charles代理,http://chls.pro/ssl无法访问

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next使用中进行Charles代理,http://chls.pro/ssl无法访问

2 回复
参考以下步骤:
一、 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的文本格式证书);
示例命令:
重新挂载根目录为可写:hdc shell mount -o remount,rw /
导入根证书:hdc file send ./cacert.pem /etc/ssl/certs/
三、安装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,开始抓包
将caPath设置为"",使用系统默认的证书,可以解决问题。

如果还不能解决,请判断有没有在同一个网络下:Charles抓包不仅可以抓取来自电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,手机抓包需要在电脑端配置并且需要手机和电脑在同一网络下,即完成设备代理设置步骤,https协议的报文需要安装SSL证书后才可以抓取,即完成Charles证书下载与证书安装步骤。

针对HarmonyOS 鸿蒙Next使用中进行Charles代理时,http://chls.pro/ssl无法访问的问题,以下是一些可能的解决方案:

  1. 检查Charles配置

    • 确保Charles代理软件是最新版本,以避免已知的bug。
    • 检查Charles的代理设置,确保已正确配置透明代理和SSL代理。
    • 尝试关闭并重新打开Charles,或者重启计算机。
  2. 检查网络连接

    • 确保手机与电脑在同一局域网下,且网络连接稳定。
    • 在手机上设置代理时,确保代理服务器主机名填入的是电脑的IP地址,端口号正确(通常为Charles监听的端口,如8888)。
  3. 尝试其他方法下载证书

    • 如果直接访问http://chls.pro/ssl无法下载证书,可以尝试通过其他方式获取证书,如使用其他设备下载后传输到手机上。
  4. 检查系统兼容性

    • 确保HarmonyOS鸿蒙Next手机系统已更新到最新版本,以支持最新的网络配置和代理设置。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部