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

Flutter实践中移动端HTTP请求连接被拒问题求助

问题解决:Flutter移动端HTTP请求连接被拒

核心原因

Web端运行时,localhost指向运行浏览器的开发电脑;但移动端(iOS/Android)的localhost指向设备自身,后端服务并未在移动设备上运行,因此出现连接被拒的情况。

解决方案

1. 替换localhost为开发电脑的局域网IP

  • 查看开发电脑的局域网IP:Windows使用ipconfig命令,Mac/Linux使用ifconfig或ip addr命令
  • 修改代码中的请求地址,将http://localhost:3000/api/v1/auth替换为http://你的局域网IP:3000/api/v1/auth,示例:
Uri.parse('http://192.168.1.100:3000/api/v1/auth')

2. Android端额外配置

  • 在android/app/src/main/AndroidManifest.xml中添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
  • Android 9及以上默认禁止明文HTTP请求,需在android/app/src/main/res/xml目录下创建network_security_config.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

然后在AndroidManifest.xml的application标签中引用该配置:

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config">

3. iOS端额外配置

  • 在ios/Runner/Info.plist中添加允许HTTP请求的配置:
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

验证要点

  • 确保移动设备和开发电脑处于同一局域网
  • 确认后端服务的防火墙允许局域网设备访问3000端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 15:08:22