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

Expo Go Android端API请求遇Network request failed问题求助

Expo Go安卓端「Network request failed」问题排查与解决(Web端正常)

根因分析

  • 本地API地址不兼容:Web端用localhost/127.0.0.1能直接访问本地API,但安卓真机/模拟器的localhost指向自身设备,无法访问电脑上的服务;模拟器虽有特殊映射地址,但真机不支持。
  • Android明文HTTP限制:Android 9及以上系统默认禁止非HTTPS请求,Web端浏览器对本地HTTP请求有豁免,但Expo Go安卓端严格遵循系统规则,导致HTTP请求被拦截。
  • 电脑防火墙拦截:电脑防火墙可能阻止了局域网设备访问API端口,本地Web访问不受影响,但跨设备请求被阻断。
  • 代理/VPN干扰:设备上的代理或VPN改变了网络路由,Expo Go的请求无法正常到达API服务器,而Web端可能使用了系统代理以外的配置。
  • API服务器访问规则:部分API会根据User-Agent、来源IP做限制,Expo Go安卓端的请求头与Web端不同,可能被服务器判定为非法请求。

解决方案

1. 替换API访问地址

  • 本地运行API时,把请求地址从localhost/127.0.0.1换成电脑的局域网IP(Windows用ipconfig、Mac/Linux用ifconfig查看),比如http://192.168.3.5:8080/api/login。
  • 安卓模拟器可临时用10.0.2.2(对应电脑的localhost),但真机无法使用该地址。

2. 开发环境允许HTTP明文请求

在app.json或app.config.js中配置安卓网络安全规则,允许指定域名的HTTP请求:

{
  "expo": {
    "android": {
      "networkSecurityConfig": {
        "domainConfigs": [
          {
            "domain": "你的API域名或局域网IP",
            "cleartextTrafficPermitted": true
          }
        ]
      }
    }
  }
}

注意:生产环境必须使用HTTPS,切勿保留此配置。

3. 调整电脑防火墙设置

  • 临时关闭电脑防火墙测试,若请求正常,再添加端口放行规则(允许API使用的端口接收局域网访问)。
  • 确认API服务监听0.0.0.0而非仅localhost,确保局域网设备能访问(多数框架默认配置,但需核实)。

4. 关闭代理与VPN

  • 关闭设备上的代理和VPN,让Expo Go使用原生网络连接。
  • 若必须用代理,在Expo开发者菜单(摇设备或按Ctrl+M)的「Settings」->「Proxy」中配置对应代理信息。

5. 检查API服务器规则

  • 查看API服务器的访问日志,确认安卓设备的请求是否被拦截,排查User-Agent、IP白名单等限制。
  • 临时移除限制规则测试,若请求正常,再针对性调整规则(比如添加Expo Go的User-Agent到白名单)。

6. 调试请求细节

在代码中添加详细错误日志,或用Charles等工具抓包,定位具体失败原因:

async function handleLogin() {
  try {
    const response = await fetch('你的API地址', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ username: 'xxx', password: 'xxx' })
    });
    // 处理响应
  } catch (error) {
    console.error('请求失败详情:', error.message);
    console.error('错误栈:', error.stack);
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:35:02