引入axios请求https,HarmonyOS 鸿蒙Next用charls抓包不到
引入axios请求https,HarmonyOS 鸿蒙Next用charls抓包不到 按文档在手机安装好charles证书,在charles也打开能抓包https,但是手机代理后不能抓包https
安装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抓包工具无法捕获数据包,可能的原因及解决方案如下:
-
证书验证:HTTPS通信过程中涉及SSL/TLS加密,Charls可能因证书验证问题而无法正确解密数据包。请确保Charls已正确安装并配置了必要的根证书,以便能够解密HTTPS流量。
-
网络配置:检查设备的网络配置,确保Charls已设置为系统代理,且axios请求确实通过该代理发出。同时,确认设备上的防火墙或安全软件未阻止Charls的抓包行为。
-
Charls版本:确保你使用的Charls版本支持HarmonyOS系统,并已更新至最新版本,以兼容最新的操作系统和网络协议。
-
应用权限:在HarmonyOS应用中,检查是否已授予Charls必要的网络访问权限,以便其能够捕获和分析网络数据包。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html