无法连接到 Flask Web 服务,连接被拒绝

我试着用 Flask 在树莓派上运行一个简单的网络服务器。当我运行 Flask 应用程序时,它显示:

http://127.0.0.1:5000/上运行

但是当我用 Chrome 在笔记本电脑上输入这个地址时,我得到了

ERR _ Connection _ 拒绝

我可以在 Raspberry Pi 的浏览器上打开127.0.0.1:5000?

136744 次浏览

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

让烧瓶收听 0.0.0.0:PORT_NUMBER

或者任何你可以选择的港口

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

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上的传入连接。尝试:

sudo ufw allow 5000
app.run(host='0.0.0.0',port=5000)

如果你以这种方式运行你的应用程序,那么你的服务器将在外部可见。 步骤:

  1. 使用以下命令运行应用程序

    Run (host =’0.0.0.0’,port = 5000)

  2. 转到窗口 cmd。输入 Ipconfig并获取 IPV4地址假设您的 IPV4地址是192.168.X。X

  3. 转到移动浏览器并键入 192.168.X. X: 5000

如果在 app.run()中有 debug = True,那么其他机器也不会看到它。在没有 debug = Trueapp.run()中指定 主持人左舷

  • 两个设备必须连接到同一个网络。
  • 使用 app.run(host='0.0.0.0',port=5000)并使用您自己的 IPv4运行 比如他的 http://[Your IPv4地址] : 5000
  • 如果你正在连接这与 Android 应用程序,然后不要忘记 在清单文件中放置 INTERNET 权限。

我也想知道答案,但我想我找到了问题所在。原因是你可能没有激活或运行烧瓶,这就是为什么它显示错误。为此,你必须从终端“烧瓶运行”,然后肯定你的烧瓶将运行..。

如果 VPN 是打开的,问题可能会发生,所以请尝试关闭它。

与流行的观点相反,127.0.0.1不是一个本地主机。 我通过在两端显式设置127.0.0.1解决了上面的问题。

在 MacOS 12.4(Monterey)上,我不能加载本地主机,也不能加载本地 IP,但它可以同时使用以下两种方式:

  • 0.0.0.0
  • 127.0.0.1

如果浏览器加载了“ localhost”,只需更改 URL 即可。