Flask仅侦听127.0.0.1忽略主机参数

时间:2014-07-11 11:28:10

标签: python flask lan netcat

我在Windows 7上使用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为局域网服务,我很好奇,一台机器的两个进程怎么能在同一个端口上监听呢?

谢谢!

1 个答案:

答案 0 :(得分:7)

port包含自己的参数:

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