相关疑难解决方法(0)

带 % 的 Flask URL 参数未正确处理

EDIT2:对于缺乏清晰度,我深表歉意。我将提供几个值。第一个是我使用前端应用程序调用的 URL。第二个是调用之前的值urllib.unquote。第三个是调用后的值urlib.unquote

前端:

console.log('http://localhost:8080/v1/' + encodeURIComponent(name))
Run Code Online (Sandbox Code Playgroud)

后端:

def f(param=''):
    print('*', param)
    param = urllib.unquote(param)
    print('**', param)
Run Code Online (Sandbox Code Playgroud)

前任。

http://localhost:8080/v1/https%3A%2F%2Fgoogle.com
* https:%2F%2Fgoogle.com
** https://google.com
Run Code Online (Sandbox Code Playgroud)

例 2.

http://localhost:8080/v1/foo%2520bar
* foo%20bar
** foo bar
Run Code Online (Sandbox Code Playgroud)

例 3.

http://localhost:8080/v1/foo%20bar
* foo bar
** foo bar
Run Code Online (Sandbox Code Playgroud)

感谢您对此的耐心和帮助。对于我原来的帖子中不清楚的地方,我深表歉意。

编辑:简而言之,如果我调用/v1/%2520, param 等于" "在函数末尾,而不是"%20",在函数开头它等于"%20"而不是"%2520"

我目前正在使用 Python 2.7 开发 Flask 应用程序。

我正在尝试创建一个可以处理 URL 参数的函数。

@app.route('/v1/<param>', methods=['DELETE'])
def f(param=''):
    param = urllib.unquote(param)
Run Code Online (Sandbox Code Playgroud)

在我的前端应用程序中,我通过编码param. 但是,如果我将"foo bar" …

python url encoding werkzeug flask

5
推荐指数
1
解决办法
9127
查看次数

标签 统计

encoding ×1

flask ×1

python ×1

url ×1

werkzeug ×1