从不同设备访问 Flask

Flask access from different devices

有没有办法生成一个特定的 IP 地址或创建一个特定的 flask 站点 http://127.0.0.1:5000/ site which runs locally, to access the web-app made using flask from different device as by default it runs locally and under http://127.0.0.1:5000/ 但是,我想从不同的地方访问它 devices.If,有办法请帮忙

您可以使用您的私有 IP 地址和端口在同一网络/Wifi 中的设备上访问您的服务器。 Mac OS option + click 在任务栏中的 Wifi 上。

在 linux 上: > ifconfig

  • 您需要输入路由器的 public IP,而不是本地主机 (127.0.0.1)。如果您还不知道它,可以通过在命令行中键入 ipconfig(代表 Windows)或 ifconfig(代表 Linux)来检索它。
  • 您还需要禁用防火墙或为服务器使用的端口(例如 5000)添加入站规则。

首先参考此 doc(第 外部可见服务器 部分),了解如何公开您的本地 Flask 应用程序以使其可从 受信任 您网络中的设备用于测试目的

$(venv) flask run --host=0.0.0.0

或在您的 app.py

from flask import Flask
[..]
app = Flask(__name__)
[..]
if __name__ == "__main__":
   app.run(host="0.0.0.0", port=5000, debug=True)

然后:

$(venv) python app.py

但如果发生这种情况并且您收到此错误 dial tcp 0.0.0.0:5000: connect: connection refused 然后尝试使用托管您 [=13= 的机器的本地 IP 地址(192.168.x.y 而不是 0.0.0.0) ] 应用程序。你可能会发现这个 thread 很有用