如何在 Flask 中重定向到任何类型的 URI(数据、blob、http 等)?

问题描述 投票:0回答:1

我需要使用 Flask 重定向到一个 URI,而不仅仅是 HTTP(S)。它可以是数据 uri、blob uri、ftp uri 等。我该怎么办?

我尝试使用

Flask.redirect()
但这不适用于数据 URI,也不适用于未指定协议的 URI(例如 google.com)。 评论:

from flask import Flask, redirect
app = Flask(__name__)
@app.route("/")
def redir_test(): return redirect("google.com")
# redirects to /google.com, shold redirect to http://google.com

我尝试使用

<meta HTTP-EQUIV="REFRESH" content="0; url=URL">
进行重定向。这适用于数据 URI,但不适用于无协议 URI(google.com 重定向到 /google.com)。 评论:

from flask import Flask
app = Flask(__name__)
@app.route("/")
def redir_test(): return '<meta HTTP-EQUIV="REFRESH" content="0; url=google.com">'
# redirects to /google.com, shold redirect to http://google.com
python flask redirect http-redirect
1个回答
0
投票
def redir_test(): return redirect("google.com")
# redirects to /google.com, should redirect to https://google.com

没有

Python Flask 无法做到这一点。这些功能有点复杂,需要开发者付出一些努力才能实现。您提到的一些功能包括HSTSPAC e.t.c

为什么浏览器有这些? 因为它内置于浏览器中。

注意:虽然 HSTS 已标准化,但自动将 文件传输协议 转换为 超文本传输协议 尚未标准化。

© www.soinside.com 2019 - 2024. All rights reserved.