gpt4 book ai didi

python - 当路径还包含 URL 时,使用 Flask 捕获所有 URL

转载 作者:行者123 更新时间:2023-12-01 05:16:19 25 4
gpt4 key购买 nike

好的,所以我想用这段代码捕获 Flask 应用中的所有 URL

@app.route('/<path:path>')
def catch_all(path):
return path

只是一个基本的应用程序,显示每个页面的相对路径。因此,这对于大多数路径都适用(localhost/whatever/I/want 例如打印 whatever/I/want)。

除了一种情况。例如,如果我在地址栏中输入 localhost/foo/http://google.com/bar,我期望显示的是 foo/http://google.com/bar,但我实际得到的只是bar。所以实际上 Flask 会找到最后一个有效的 URL 并采用该 URL 后面的路径。

有没有办法捕获我们 URL 的真实路径?

编辑:我正在使用 Google App Engine for Python 运行 Flask 0.10 .

最佳答案

我能够使用当前的 Google App Engine SDK 重现您的问题;这是由捆绑的 CherryPy 服务器解析请求的方式引起的。

该问题适用于您的本地开发服务器,当您将应用部署到 Google 时,不同的处理程序会解析 URI,并保留 http:// 方案未解析。

参见 CherryPy issue #1284以及相应的appengine devserver ticket .

解决方法是对冒号进行 URI 编码:

http://localhost:8000/foo/http%3A//google.com/bar

有效。

关于python - 当路径还包含 URL 时,使用 Flask 捕获所有 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com