python - Flask 仅在 127.0.0.1 上监听而忽略主机参数

标签 python flask lan netcat

我在 Windows 7 上使用 Flask。Flask 和相关版本如下:

Flask==0.10.1
Werkzeug==0.9.3

可以使用 http://127.0.0.1:5000 从同一台计算机访问应用程序 但是从局域网中的另一台计算机访问失败:http://192.168.101.103:5000

我使用这些参数启动应用程序:

#app.py
if __name__ == '__main__':
    app.run( host='0.0.0.0:5000')

我不明白的一件事是,当我在同一台计算机上启动 netcat 时,Flask 当前正在监听同一端口,它可以工作,甚至可以从另一台计算机访问 netcat:

>c:\Python27\python manage.py runserver
>
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader

作品...

>nc -l -p 5000

在同一台电脑上工作,同一个端口???

GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: de-DE
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0;

Accept-Encoding: gzip, deflate
Host: 192.168.101.103:5000
DNT: 1
Connection: Keep-Alive

甚至接受来自另一台计算机的连接 ???

所以除了这个显而易见的问题,如何让 Flask 为 LAN 服务,我很好奇,一台机器的两个进程怎么会监听同一个端口?

谢谢!

最佳答案

port进入它自己的参数:

app.run(
    host="0.0.0.0",
    port=5000
)

关于python - Flask 仅在 127.0.0.1 上监听而忽略主机参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24696664/

相关文章:

python - 为什么我的分页 Bootstrap 样式不起作用?

聊天服务器和客户端实现?

linux - 如何知道PPTP服务器自动分配的LAN中的PPTP客户端本地IP?

instance - 无法在 LAN 上访问 openstack 实例

python - 在 linux 上移动 python 文件夹

python - 你如何设置 "python"命令指向 python2 而不是 python3?

Python:将额外的参数传递给可调用的

python - 将 REST 行为添加到带有 flask 的类中,蓝图的案例?

python - 使用 SQLAlchemy session 处理 Flask 和并发问题

python - 从字符串日期中提取一年中的某一天和儒略日