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

React Native中Axios GET请求在Android模拟器抛出网络错误

解决Android模拟器访问本地XAMPP API的Network Error问题

嗨,我刚碰到过和你一模一样的情况,给你几个实用的解决步骤,应该能快速搞定这个网络错误:

核心原因

Android模拟器本质是一个独立的虚拟机,它的localhost或者127.0.0.1指向的是模拟器自身,而不是你的电脑。Postman能正常访问是因为它直接运行在你的电脑上,自然能访问本地的XAMPP服务。

具体解决办法

1. 使用电脑的局域网IP替换localhost

首先找到你电脑在局域网中的IP地址:

  • Windows:打开命令提示符,运行 ipconfig,找到「以太网适配器 本地连接」里的「IPv4 地址」
  • Mac/Linux:打开终端,运行 ifconfig 或者 ip addr,找到对应网络接口的inet地址

然后把你的axios请求URL改成:

axios.get('http://你的电脑局域网IP/api/test')
 .then((response) => {
 console.log(response);
 })
 .catch((error) => {
 console.log(error);
 });

比如你的IP是192.168.3.10,就写成http://192.168.3.10/api/test(如果XAMPP的Apache端口是默认80,不用加端口;如果改了端口,比如8080,就要写成http://192.168.3.10:8080/api/test)

2. 配置XAMPP允许外部访问

默认情况下XAMPP的Apache可能只允许本地访问,需要修改配置:

  1. 打开XAMPP控制面板,点击Apache的「Config」→「httpd.conf」
  2. 找到类似下面的配置段:
<Directory "C:/xampp/htdocs">
    ...
    Require local
    ...
</Directory>
  1. 把Require local改成Require all granted,或者添加你的局域网IP段的允许规则,比如Require ip 192.168.3.0/24
  2. 重启Apache服务

3. 检查电脑防火墙设置

电脑的防火墙可能会阻止模拟器的请求:

  • 暂时关闭防火墙测试一下,如果能正常访问,再在防火墙上添加规则,允许Apache的端口(默认80)接收来自局域网的连接

4. 备选方案:使用adb反向代理

如果上面的方法都不生效,可以用adb命令把模拟器的端口转发到电脑:

  1. 确保模拟器已经启动,并且adb命令能正常使用
  2. 在终端/命令提示符运行:
adb reverse tcp:80 tcp:80

(如果你的Apache端口不是80,把两个80都改成对应的端口号)
3. 之后你就能在模拟器里用http://localhost/api/test访问本地API了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:57:48