最近发现很多新手同学刚接触鸿蒙时,都会遇到仿真器能上网,但应用里就是发不出请求的问题。
其实这个问题真的不复杂,90% 的情况都是下面 4 个原因导致的,按顺序排查一遍,基本都能解决,不用搞那些复杂的抓包、改系统配置。
第一步:加网络权限
这个是最常见的问题,鸿蒙应用默认没有联网权限,所有请求都会被系统直接拦截,连个报错都不会有。
解决方法: 打开 entry/src/main/module.json5 文件,在 module 节点里加上这段:
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
}
]
最重要的一步:加完权限后,必须先关闭仿真器,再重新运行应用,不然权限不会生效。
第二步:解决 HTTP 请求被拦截
从 HarmonyOS 4.0 开始,系统默认禁止所有 HTTP 明文请求,只允许 HTTPS。所以如果你用的是本地测试接口(比如 http://localhost:3000),会直接失败。
表现:访问百度等 HTTPS 网站正常,自己的 HTTP 接口报错。
解决方法: 还是在 module.json5 的 module 节点里,加上安全配置:
"security": {
"network": {
"cleartextTrafficPermitted": true
}
}
提示:生产环境一定要删掉这段,强制用 HTTPS。
第三步:本地后端别用localhost
很多人用电脑跑后端服务,然后在仿真器里写 http://localhost:3000 去访问,这里也会出现问题。
因为仿真器是一个独立的虚拟机,它的 localhost 指向的是自己,不是你的电脑。
解决方法: 把 localhost 换成 10.0.2.2,这是仿真器专门用来访问电脑主机的地址。
// 错误写法
const url = 'http://localhost:3000/api/user';
// 正确写法
const url = 'http://10.0.2.2:3000/api/user';
另外,确保你的后端服务是绑定在 0.0.0.0 上的,而不是 127.0.0.1,不然外部设备还是访问不了。
第四步:检查仿真器本身的网络
如果上面三步都做了还是不行,先确认仿真器真的能上网:
- 如果浏览器也打不开:重启仿真器,关掉电脑上的代理和 VPN,基本就能好
- 如果浏览器能打开,只有你的应用不行:回到第一步重新检查权限和配置
快速验证流程
避坑总结
这四点就能解决绝大多数仿真器网络问题。






