Python烧瓶错误代码400,消息请求版本错误



网站的代码

from flask import *
app = Flask(__name__)

@app.route("/<name>")
def user(name):
return f"Hello {name}!"

@app.route("/")
def home():
return render_template("index.html")

@app.route("/admin")
def admin():
return redirect(url_for("home"))

if __name__ == "__main__":
app.run()

如果我转到http://127.0.0.1:5000/,没有问题,但当我转到https://127.0.0.1:5000/(这次是https而不是http(时,我会得到以下错误

127.0.0.1 - - [17/Nov/2019 17:43:25] code 400, message Bad request version ('yx03Ðãx80¨R¾3x8eܽx90Ïñx95®¢Òx97x90<Ù¦x00$x13x01x13x03x13x02À+À/̨̩À,À0À')

错误code 400, message Bad request version基本上是我所期望的,因为我没有设置SSL,也没有声明网站在收到https请求时应该做什么。我很想知道这些奇怪的符号是什么意思(y\x03ß……等等(。这涉及到多个问题,例如:它们来自哪里?python代码是否试图访问没有特定数据的随机内存位置?数据是否只是控制台无法处理的格式?这是什么意思?你明白了。

app.run()中缺少ssl_context,它将Flask配置为使用HTTPS支持运行。

请参阅这篇关于它的文章

如果这只是为了测试,您可以使用adhoc模式。

if __name__ == "__main__":
app.run(ssl_context="adhoc")

最新更新