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

Flutter向本地Django发送HTTP请求时遭遇连接拒绝错误求助

Flutter请求本地Django服务报错:连接拒绝(Connection refused)

问题代码

var url = Uri.http('127.0.0.1:8008', '/apis/login', 
                    {'q':'{http}',
                    'phone': userName, 'password': password});
var response = await get(url);
var myResponse = jsonDecode(response.body);
print(myResponse);

报错信息

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: ClientException with SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = 127.0.0.1, port = 38598, uri=http://127.0.0.1:8008/apis/login?q=%7Bhttp%7D&phone=dslfkslf&password=rrrrrrrrrrrrrrC%3A%5CUsers%5Cgeors%5CAppData%5CLocal%5CPub%5CCache%5Clog%5Cpub_log.txt
E/flutter ( 4683): #0      IOClient.send (package:http/src/io_client.dart:154:7)

排查与解决步骤

  • 确认Django服务状态:
    检查终端里Django的启动命令python manage.py runserver 127.0.0.1:8008是否正常运行,有无启动报错,确保服务确实监听8008端口。

  • 修改Django允许主机配置:
    打开项目settings.py,将ALLOWED_HOSTS设置为ALLOWED_HOSTS = ['*'],或添加127.0.0.1、本地局域网IP,避免因主机白名单限制导致连接被拒。

  • 模拟器/真机环境替换IP:
    若在手机模拟器或真机测试,不能用127.0.0.1(该地址指向模拟器/手机自身),需换成电脑的局域网IP(如192.168.1.100),同时启动Django时监听所有网卡:python manage.py runserver 0.0.0.0:8008,确保同一局域网设备可访问服务。

  • 修复请求参数错误:
    从报错URL可见,password参数后拼接了本地日志路径C:\Users\geors\AppData\Local\Pub\Cache\log\pub_log.txt,说明password变量被错误赋值,需检查前端获取用户输入的逻辑,确保userName和password为正确的用户输入内容。

  • 排查防火墙拦截:
    暂时关闭电脑防火墙或杀毒软件,测试是否为安全软件拦截了Flutter与Django的连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:50:06