树莓派通过以太网连接Flask服务器时出现Errno 111连接拒绝错误
解决树莓派向本地Flask服务发送请求时的连接拒绝问题
核心问题分析
从错误栈能定位两个关键问题:
- 客户端请求使用
https://0.0.0.0:6000/,但你的Flask服务默认仅提供HTTP服务,并非HTTPS 0.0.0.0是服务器用于绑定所有网卡的地址,客户端不能用该地址发起访问,必须替换为本地电脑的实际以太网IP地址
分步解决方案
1. 修正客户端请求地址
修改client.py中的URL配置:
import requests # 替换为本地电脑的以太网IP(例如192.168.1.100,需根据你的网络实际配置调整) url = "http://192.168.1.100:6000/" payload={} headers = {} response = requests.request("GET", url, headers=headers, data=payload,) print(response.text)
如何查看本地电脑的以太网IP?
- Windows:打开命令提示符,执行
ipconfig,找到以太网适配器下的IPv4地址- macOS/Linux:打开终端,执行
ifconfig或ip addr,找到以太网接口对应的IP地址
2. 验证本地服务可用性
在本地电脑上,打开浏览器访问http://localhost:6000,确认能返回"Hello World!"的JSON响应,确保Flask服务正常运行。
3. 测试树莓派与本地电脑的网络连通性
在树莓派终端执行:
ping <本地电脑以太网IP>
若能收到回复,说明网络连通正常;若不通,检查以太网线缆连接、路由器配置,确保两者处于同一局域网。
4. 确认Flask服务监听配置
你的Flask代码中app.run(host='0.0.0.0', port=6000, debug=True)是正确的,0.0.0.0表示服务会监听所有可用网卡,确保本地电脑的以太网接口能接收请求。
额外排查点
- 若问题仍存在,检查本地电脑是否有其他安全软件(如杀毒软件)拦截6000端口请求,可暂时关闭测试
- 在本地电脑执行端口监听检查命令:Windows用
netstat -an | findstr :6000,Linux/macOS用ss -tuln | grep :6000,确认6000端口确实被Flask进程占用监听
内容的提问来源于stack exchange,提问作者Josh Zwiebel
相关产品推荐
相关产品推荐

