You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native(Expo Go)调用本地.NET WebAPI报Network request failed错误求助

解决React Native Expo Go无法访问本地.NET WebAPI的问题

排查与修复步骤

1. 修正后端API的绑定地址

.NET WebAPI默认可能仅绑定localhost或127.0.0.1,导致仅本地能访问,局域网设备无法连接:

  • 打开后端项目Properties目录下的launchSettings.json,修改applicationUrl为局域网IP+端口:
    "applicationUrl": "https://192.168.8.100:7036;http://192.168.8.100:5036"
    
  • 或者启动后端时通过命令行指定地址:
    dotnet run --urls "https://192.168.8.100:7036;http://192.168.8.100:5036"
    

2. 处理HTTPS证书信任问题

本地自签名SSL证书不会被Expo Go默认信任,引发请求失败:

  • 临时方案:改用HTTP访问后端(需确保后端已开启HTTP端口)。
  • 永久方案:将本地证书安装到手机:
    1. 用电脑浏览器打开https://192.168.8.100:7036,下载证书文件。
    2. 将证书发送到手机,在系统设置中找到证书安装选项,完成安装并设置为信任(不同品牌手机路径略有差异)。

3. 确保请求URL正确

代码中必须使用局域网IP+端口,不能用localhost或127.0.0.1(手机上的localhost指向自身而非电脑),示例代码:

fetch('http://192.168.8.100:7036/api/your-endpoint')
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));

4. 检查电脑防火墙规则

确认防火墙允许.NET WebAPI的端口(7036)通过局域网访问:

  1. 打开Windows Defender防火墙高级设置。
  2. 添加入站规则,允许TCP端口7036的连接,适用范围设为当前专用网络。

5. 配置Expo网络权限

在项目的app.json或app.config.js中添加必要权限:

"ios": {
  "infoPlist": {
    "NSAppTransportSecurity": {
      "NSAllowsArbitraryLoads": true // 仅开发环境使用,上线需调整为特定域名例外
    }
  }
},
"android": {
  "permissions": ["INTERNET"]
}

内容的提问来源于stack exchange,提问作者Christopher Dyja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:46:02