这个问题可能有点奇怪,但是我没有联系的那个人写了一个程序,我应该改编。
它启动了一个本地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访问的任何应用程序...有人可能知道我在这里/在哪里可能找到更多的东西吗?
答案 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 ./*
这将用文件名注释匹配的行,并节省了猫的不必要的使用。