Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用URL获取带有特殊字符和空格的参数_Python_Flask - Fatal编程技术网

Python 使用URL获取带有特殊字符和空格的参数

Python 使用URL获取带有特殊字符和空格的参数,python,flask,Python,Flask,我使用FlaskURL从前到后获取参数,将其传递给查询,它可以很好地处理没有任何特殊字符或空格的简单字符串。但是,当我通过“历史数据CBD\u 3(10WAY\u 10.0mWx59.0mW:28)”时,它不起作用。(带特殊字符的字符串,如():和带空格) 我正在Linux上运行它。我在windows上进行了测试,结果很好 front @app.route('/design/<string:des>') callback /design/Historic_Intersection%

我使用FlaskURL从前到后获取参数,将其传递给查询,它可以很好地处理没有任何特殊字符或空格的简单字符串。但是,当我通过“历史数据CBD\u 3(10WAY\u 10.0mWx59.0mW:28)”时,它不起作用。(带特殊字符的字符串,如():和带空格)

我正在Linux上运行它。我在windows上进行了测试,结果很好

front 
@app.route('/design/<string:des>')
callback
/design/Historic_Intersection%20CBD_3%20(3WAY_6.0mWx5.0mW:10) 
前面
@应用程序路径(“/design/”)
回拨
/设计/历史交叉口%20CBD\U 3%20(3路6.0mWx5.0mW:10)

我认为URL编码在这里是个问题,有什么建议吗?

请参见urllib.parse中的
quote
unquote

基本上,URL中不能包含某些字符(如空格),因此如果您的URL包含其中一个错误字符,它将被替换,这就是您观察到的。
quote
函数接受任何字符串,并提供其URL版本。
unquote
获取URL版本并返回原始版本

如果需要在查询参数中执行相同的操作,请改用
quote\u plus
unquote\u plus