关于python:无法连接到Flask Web服务,连接被拒绝

Can't connect to Flask web service, connection refused

我试图在带有Flask的Raspberry Pi上运行一个简单的Web服务器。 当我运行Flask应用程序时,它说:

running on http://127.0.0.1:5000/

但是,当我在笔记本电脑的Chrome中输入此地址时,

ERR_CONNECTION_REFUSED

我可以在Raspberry Pi的浏览器上打开127.0.0.1:5000。 我需要怎么做才能从另一台计算机连接?


像这样运行您的应用程序:

1
2
if __name__ == '__main__':
    app.run(host='0.0.0.0')

它将使服务器在外部可见。如果计算机的IP地址是192.168.X.X,则可以从同一网络通过5000端口访问它。就像http://192.168.X.X:5000


通过flask run运行服务器时,将其更改为flask run --host=0.0.0.0
要进行连接,请找到运行脚本的服务器的IPV4地址。在同一网络上,转到http://[IPV4 address]:5000


原因可能还在于防火墙拒绝端口5000上的传入连接。请尝试:

1
sudo ufw allow 5000


如果app.run()内部有debug = True,则其他计算机也将看不见该内容。在app.run()中指定主机和端口,而不使用debug = True


1
app.run(host='0.0.0.0',port=5000)

如果您以这种方式运行应用,则服务器将在外部可见。
Setp的步骤:

  • 使用以下命令运行您的应用

    app.run(主机='0.0.0.0',端口= 5000)

  • 转到窗口cmd。键入ipconfig并获取IPV4地址,假设您的IPV4地址为192.168.X.X

  • 转到移动浏览器并输入192.168.X.X:5000


  • 您将必须运行开发服务器,以便它侦听所有接口上的请求,而不仅仅是本地接口

    让Flask收听0.0.0.0:PORT_NUMBER

    或您可以选择的任何其他端口


    • 两个设备必须连接到同一网络。
    • 使用app.run(host='0.0.0.0',port=5000)并运行自己的Ipv4
      像他的http:// [您的Ipv4地址]一样的地址:5000
    • 如果您将其与android应用程序连接,请不要忘记
      将INTERNET权限放入清单文件中。