使用Flask,如何获得flask连接的当前端口号?我想使用端口0在随机端口上启动服务器,但是我还需要知道我在哪个端口上。
编辑
我认为我已经找到解决该问题的方法,尽管它不能解决问题。我可以遍历以49152开头的端口,并尝试通过使用该端口app.run(port=PORT)
。我可以在try catch
块中执行此操作,以便在Address already in use
出现错误时可以尝试下一个端口。
你无法轻易获得Flask使用的服务器套接字,因为它隐藏在标准库的内部(Flask使用Werkzeug,其开发服务器基于stdlib BaseHTTPServer
)。
但是,你可以自己创建一个临时端口,然后关闭创建它的套接字,然后自己使用该端口。例如:
# hello.py
from flask import Flask, request
import socket
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, world! running on %s' % request.host
if __name__ == '__main__':
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('localhost', 0))
port = sock.getsockname()[1]
sock.close()
app.run(port=port)
将为你提供要使用的端口号。运行示例:
$ python hello.py
* Running on http://127.0.0.1:34447/
并且,在浏览到http:// localhost:34447 /时,我看到了
Hello, world! running on localhost:34447
在我的浏览器中。
当然,如果在关闭套接字然后再用Flask用该端口打开套接字之间使用其他端口,则会收到“正在使用地址”错误,但是你可以在环境中使用此技术。
本文向大家介绍如何在JavaScript中获取当前页面的Internet主机端口号?,包括了如何在JavaScript中获取当前页面的Internet主机端口号?的使用技巧和注意事项,需要的朋友参考一下 要在JavaScript中获取当前页面的Internet主机端口号,请使用window.location.port属性。 示例 您可以尝试运行以下代码来获取当前页面上的Internet主机端口数。
问题内容: 在Flask中,当我为同一功能使用多个路由时,如何知道当前使用的是哪个路由? 例如: 我怎么知道,现在我被称为使用或? 更新 我知道我不想使用它,因为请求可能相当复杂,并且我想在函数中重复路由逻辑。我认为最好的解决方案。 问题答案: 检查触发你的视图的路线的最“轻松”方法是request.url_rule。
nuxt3如何在服务端获取当前域名,服务端无法使用location去获取 使用useRequestHeaders获取的空对象
问题内容: 我用来发出几个http请求(显然)。现在,我需要发出请求并从最终URL中提取一些查询字符串(存在重定向)。 因此,问题是如何找到URL(如果重定向了客户端,则为最终URL)?Response中没有这样的字段。 请注意,我不需要停止重定向…仅在请求后查找URL是什么 问题答案: 您将回调添加到 然后,您可以在发生新请求时对其进行检查。只要确保设置某种限制来防止重定向循环(如文档中所述,默
问题内容: 获取当前时间的模块/方法是什么? 问题答案: 采用: 而只是时间: 有关更多信息,请参见文档。 要保存输入,可以datetime从datetime模块中导入对象: 然后datetime.从以上所有位置移除引线。
问题内容: 我在使用android定位系统的NETWORK提供程序获取当前位置坐标时遇到麻烦。 已经阅读了很多教程,并为我的项目实现了4到5个现有的类,所有这些类都给了我最后的坐标,而不是当前的坐标。 我很确定这个问题是我遗漏的根本问题,但是我无法理解到底是什么。 我现在正在使用的代码: 这是我的主要活动 这是我用于跟踪的课程: 这是我的AndroidManifest.xml 实际上,GPS定位工