代理只能连接网络的时候设置,一旦网络连接上后就没有入口设置代理了

HarmonyOS NEXT真机,没找到设置charles代理证书的地方,而且代理只能连接网络的时候设置,一旦网络连接上后就没有入口设置代理了


HarmonyOS
2024-06-05 23:37:58
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
伊普洛先生

请参考以下步骤:

一、 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设置为"",使用系统默认的证书,可以解决问题

分享
微博
QQ
微信
回复
2024-06-07 21:31:18
相关问题
获取当前网络连接能力
693浏览 • 1回复 待解决
获取netHandle网络连接信息
547浏览 • 1回复 待解决
网络连接管理connection中this指向问题
517浏览 • 1回复 待解决
HarmonyOS WLAN, 代理无法设置
649浏览 • 1回复 待解决
HarmonyOS 关于代理提醒设置问题
360浏览 • 1回复 待解决
设置代理不跳转怎么回事?
5558浏览 • 1回复 待解决
网络地址建立socket连接
659浏览 • 1回复 待解决
wifi连接候选网络报错{code : 2501000 }
389浏览 • 1回复 待解决
连接网络信息获取有好方案吗?
556浏览 • 1回复 待解决
如何设置发起网络请求权限
420浏览 • 1回复 待解决