查找来自烧瓶的实际呼叫以在端口5000上运行

时间:2018-07-27 14:41:44

标签: python flask

这个问题可能有点奇怪,但是我没有联系的那个人写了一个程序,我应该改编。

它启动了一个本地python程序,该程序在5000端口上运行flask,所以当我写:5000时,我可以用几个按钮访问一个网页,但是我发现.py文件没有在程序中的任何地方设置端口只通话:

app.run(debug=False, host='0.0.0.0')

和几个

@app.route('/DoSomething', methods=['POST', 'GET']

文件夹中还有几个文件,当我键入

时,它们也不包含端口。
cat ./* | grep :5000

我找到了几行,但是我没有计划他们去哪里

我不是这个主题的真正专家-从未使用过flask或创建了可以通过URL访问的任何应用程序...有人可能知道我在这里/在哪里可能找到更多的东西吗?

1 个答案:

答案 0 :(得分:1)

由于您引用的行不包含port关键字参数的值,因此默认情况下它是端口5000,这是预期的行为per the docs

就找到发生这种情况的实际行而言,该行在flask source code中的run应用程序对象的Flask方法中:

_host = '127.0.0.1'
_port = 5000
server_name = self.config.get('SERVER_NAME')
sn_host, sn_port = None, None

if server_name:
    sn_host, _, sn_port = server_name.partition(':')

host = host or sn_host or _host
port = int(port or sn_port or _port)

此代码默认使用主机和端口,然后根据应用程序配置中定义的SERVER_NAME或传递的主机和端口信息覆盖它们。

关于grep单线记录的说明

这是最初问题的主题,但是:

cat ./* | grep :5000

应重写为:

grep 5000 ./*

这将用文件名注释匹配的行,并节省了猫的不必要的使用。