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