如何在同一局域网访问flask框架app
一、获取IP地址
确保两台主机连接在同一局域网。windows控制台使用ipconfig命令查看主机的IP。
ipv4那行就是我们要的IP地址
二、开放防火墙
进入windows安全中心下的防火墙和保护,点击 允许应用通过防火墙,为python应用设置专用网络。
然后选择高级设置,点击入站规则,再点击新建规则,为端口5000开放防火墙。可以参考博客如何开放自己电脑的端口供局域网内其他主机访问_mac开放端口供局域网访问-优快云博客
三、将 Flask 应用绑定到 0.0.0.0
允许局域网内的其他设备访问
指定host为0.0.0.0
,让 Flask 监听所有网络接口,而不仅仅是本地回环接口(127.0.0.1
)。这使得应用可以通过局域网 IP 地址进行访问。
注意有时候在main函数中指定0.0.0.0
也不会运行在0.0.0.0
上,比如下图这个情况,仍然运行在本机地址。
这个时候我们就需要用命令行启动flask服务器
flask run --host=0.0.0.0 --port=5000
显示running on all addresses
代表成功。
四、127.0.0.1
和0.0.0.0
的区别
127.0.0.1
(本地主机)
127.0.0.1
是一个特殊的回环地址(loopback address),通常被称为 localhost。- 当你使用
127.0.0.1
访问时,网络请求不会离开你的计算机,而是直接在本机上处理。 - 这意味着,当应用程序绑定到
127.0.0.1
时,只能在本机访问,局域网中的其他设备无法通过你的局域网 IP 地址访问它。
使用场景:127.0.0.1
通常用于开发、测试和调试时,确保应用仅在本地可访问,以防止外部访问。
0.0.0.0
(所有可用地址)
0.0.0.0
是一个特殊的地址,表示所有网络接口,即本机上所有的 IP 地址。- 当应用程序绑定到
0.0.0.0
时,意味着它将监听来自所有网络接口的请求,包括127.0.0.1
(本地回环)和你的局域网 IP 地址。 - 通过
0.0.0.0
,你可以在局域网内的其他设备上访问应用程序(通过局域网 IP 地址),也可以在本机上通过127.0.0.1
访问。
的其他设备上访问应用程序(通过局域网 IP 地址),也可以在本机上通过 127.0.0.1
访问。
使用场景:0.0.0.0
通常用于开发或部署在局域网或公网中,允许局域网或互联网中的其他设备访问该应用。