React Native应用使用axios无法从.NET服务器获取数据问题咨询
问题描述
使用axios向本地.NET服务器发送简单GET请求,始终抛出Network Error错误:
- 已尝试将请求URL中的localhost替换为本地IP地址,问题未得到解决
- 已配置CORS规则允许所有来源的跨域请求
- 浏览器端运行应用可正常从API获取数据,仅模拟器端请求失败
解决方案
以下是逐层排查解决路径:
- 修正模拟器访问宿主机的特殊地址
安卓模拟器默认将10.0.2.2映射到宿主机的回环地址,你填写的本机局域网IP、localhost在模拟器内指向的是模拟器自身系统,而非开发电脑。如果是iOS模拟器,访问宿主机服务可以直接使用开发电脑的本地局域网IP。 - 检查.NET服务的监听配置
确认.NET服务启动时绑定到0.0.0.0而非仅绑定127.0.0.1/localhost,仅绑定回环地址时所有外部设备(包括模拟器)都无法访问该服务。可在项目启动配置文件launchSettings.json中修改应用URL为http://0.0.0.0:你的服务端口号。 - 检查系统防火墙规则
确认开发电脑的防火墙开放了.NET服务使用端口的入站连接权限,模拟器的访问请求默认会被系统防火墙拦截。 - 检查应用网络权限配置
- 安卓端需要在
AndroidManifest.xml中添加网络权限声明:<uses-permission android:name="android.permission.INTERNET" /> - iOS端如果本地服务使用HTTP协议,需要在
Info.plist中配置ATS规则允许HTTP明文请求,否则iOS会默认拦截所有HTTP请求。
- 安卓端需要在
- 排查HTTPS证书问题
如果你本地.NET服务启用了HTTPS且使用自签证书,需要先在模拟器系统中信任该自签证书,否则会因证书校验失败触发网络错误。
内容的提问来源于stack exchange,提问作者bestry
相关产品推荐
相关产品推荐

