Python实现树莓派Webhooks跨设备请求报Errno 61连接被拒绝如何解决
解决方案
核心原因
Flask框架默认启动时仅绑定本地回环地址127.0.0.1,仅支持树莓派本地进程访问,同一局域网的其他设备无法建立连接,因此会返回Connection refused错误。
具体解决步骤
- 修改树莓派Flask服务启动配置
将树莓派代码末尾的启动参数修改为绑定所有可用网络接口:
if __name__ == '__main__': # host设为0.0.0.0即可允许局域网内所有设备访问,端口默认保持5000 app.run(host='0.0.0.0')
修改后重启树莓派的Flask服务即可。
- 排查端口与网络连通性
- 若修改后仍无法访问,先检查树莓派防火墙是否拦截了5000端口,若开启了ufw防火墙,执行命令
sudo ufw allow 5000放行端口 - 在MacBook终端执行
telnet 172.16.150.215 5000测试端口连通性,若无法连通,确认树莓派的局域网IP是否为172.16.150.215,可在树莓派执行ip addr查看wlan0网卡的实际IP,避免IP动态变更导致连接失败。
可选配置
如果需要自定义服务端口,可在启动时添加port参数,示例如下:
app.run(host='0.0.0.0', port=8090)
修改后同步更新MacBook端的webhook_url端口即可。
内容的提问来源于stack exchange,提问作者Pavol Bujna
相关产品推荐
相关产品推荐

