【发布时间】:2014-07-01 20:51:36
【问题描述】:
我的应用程序经常将 URL 编码字符串作为 URL 参数。通常这些字符串看起来像带有前导斜杠的路径。即/file/foo。在烧瓶中,我有一个端点,它接受一个路径参数,我将 URL 编码路径发送到该参数。所以我有一些看起来像:
import flask
app = flask.Flask("Hello World")
@app.route("/blah/<path:argument>", methods=["GET"])
def foo(argument):
return "GOT: %s" % argument
if __name__ == "__main__":
app.run(debug=True)
如果我访问此 URL,这将非常有用:
http://localhost:5000/blah/cats%2F
returns:
GOT: cats/
但是带有 %2F 的前导斜杠在 GET 的情况下失败,404 和 405 在 POST 的情况下。换句话说,这个 404s:
http://localhost:5000/blah/%2Fcats
在我对这个问题的研究中,我被引导相信here URL 编码足以解决问题。然而,情况似乎并非如此。
【问题讨论】:
-
恐怕我在使用 URL 编码的建议中是不正确的。过错。