Flutter向Flask发送HTTP请求时持续出现连接拒绝问题求助
解决Flask与Flutter连接被拒绝的问题
核心原因
Flask默认仅绑定127.0.0.1(本地回环地址),仅允许本机访问,模拟器/真机属于外部设备,无法直接连接。
具体解决步骤
1. 修改Flask服务绑定地址
修改main.py中的启动代码,让服务监听所有网络接口:
if __name__ == '__main__': app.run(debug=True, host='0.0.0.0') # 添加host参数
启动后会看到提示类似:* Running on http://0.0.0.0:5000,说明服务已开放到所有网卡。
2. 获取电脑的局域网IP
- Windows:打开命令提示符,执行
ipconfig,找到「以太网」下的IPv4地址(如192.168.1.100) - Mac/Linux:打开终端,执行
ifconfig或ip addr,找到对应有线网卡的IPv4地址
3. 更新Flutter的请求地址
将baseUrl替换为电脑的局域网IP:
final String baseUrl = 'http://192.168.1.100:5000'; // 替换为你的实际IP
- 模拟器:无需再用
10.0.2.2,直接使用局域网IP即可 - 真机:确保真机与电脑处于同一局域网(如连接同一WiFi,或电脑开热点供真机连接)
4. 检查防火墙设置
确保电脑防火墙允许5000端口的入站请求:
- Windows:打开「Windows Defender防火墙」→「高级设置」→「入站规则」→ 新建规则,允许5000端口的TCP连接
- Mac/Linux:临时关闭防火墙测试(
sudo ufw disable),确认可用后再配置规则开放端口
内容的提问来源于stack exchange,提问作者José Carlos
相关产品推荐
相关产品推荐

