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

Flutter调用Docker部署的认证接口遇连接拒绝问题求助

解决Flutter调用Docker部署接口时的SocketException连接拒绝问题

问题原因

你在Postman里能用localhost:8000访问接口,是因为Postman运行在宿主机上,这里的localhost就是你的电脑。但Flutter运行在模拟器或真机时,localhost指向的是设备本身,不是你的电脑,所以会出现连接拒绝的错误。

解决方案

根据你使用的设备类型,替换代码里的apiUrl:

1. Android模拟器

把localhost换成Android模拟器预留的宿主机映射IP 10.0.2.2:

const apiUrl = 'http://10.0.2.2:8000/api/sign-in/';

2. iOS模拟器

iOS模拟器的网络和宿主机共享,直接用localhost通常可以正常访问;如果仍有问题,换成宿主机的局域网IP:

const apiUrl = 'http://localhost:8000/api/sign-in/';
// 或者用宿主机实际IP,比如192.168.1.100,根据你的网络情况替换
const apiUrl = 'http://192.168.1.100:8000/api/sign-in/';

3. 真机(Android/iOS)

必须使用宿主机的局域网IP地址:

  • Windows:打开命令提示符,输入ipconfig,找到对应网络适配器下的IPv4地址
  • Mac/Linux:打开终端,输入ifconfig(或ip addr),找到对应网络接口的inet地址
    替换URL示例:
// 替换成你的宿主机实际IP
const apiUrl = 'http://192.168.1.100:8000/api/sign-in/';

额外检查

确认Docker容器启动时已正确做端口映射,命令需包含-p 8000:8000,比如:

docker run -d -p 8000:8000 your-image-name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 09:13:24