引入axios请求https,HarmonyOS 鸿蒙Next用charls抓包不到

引入axios请求https,HarmonyOS 鸿蒙Next用charls抓包不到 按文档在手机安装好charles证书,在charles也打开能抓包https,但是手机代理后不能抓包https

2 回复

安装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参数设置(三方开源库axios组件,其代理功能参考gitee)

1)设置usingProxy为true,表示使用HTTP代理;

2)设置caPath为"/etc/ssl/certs/charles-ssl-proxying-certificate.pem"

六、将手机与PC连接在同一局域网下,手机连接WiFi时,点击代理设置(手动),设置代理IP,端口为Charles监听的端口,在上述步骤四的Proxy Settings中可以查看和修改

七、打开charles,开始抓包: 一、鸿蒙单框架手机WiFi代理设置: 设置-WLAN中:

——>弹出搜索到的可用WIFI列表(未连接过的WiFi)

——>点击待连接WiFi,进入密码输入界面

——>弹出页内“代理”选择“手动”

——>代理服务器主机名填入PC端IP地址,端口号一般都填8888

——>点击连接

更多关于引入axios请求https,HarmonyOS 鸿蒙Next用charls抓包不到的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题中提到的问题,即在HarmonyOS(鸿蒙)环境下使用axios发起HTTPS请求时,Charls抓包工具无法捕获到数据包的情况,这里给出以下专业回答:

在HarmonyOS系统中,若使用axios进行HTTPS请求而Charls抓包工具无法捕获数据包,可能的原因及解决方案如下:

  1. 证书验证:HTTPS通信过程中涉及SSL/TLS加密,Charls可能因证书验证问题而无法正确解密数据包。请确保Charls已正确安装并配置了必要的根证书,以便能够解密HTTPS流量。

  2. 网络配置:检查设备的网络配置,确保Charls已设置为系统代理,且axios请求确实通过该代理发出。同时,确认设备上的防火墙或安全软件未阻止Charls的抓包行为。

  3. Charls版本:确保你使用的Charls版本支持HarmonyOS系统,并已更新至最新版本,以兼容最新的操作系统和网络协议。

  4. 应用权限:在HarmonyOS应用中,检查是否已授予Charls必要的网络访问权限,以便其能够捕获和分析网络数据包。

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

回到顶部