问题描述
我正在尝试使用 urlparse 函数从 URL 获取参数,但是当我尝试对参数进行解码时,字符串发生了变化并出现错误。像这样:
url = request.url
parsed = urlparse.urlparse(url)
log.info(parsed)
url_code = urlparse.parse_qs(parsed.query)['id_compra']
log.info(url_code)
输出看起来像这样
INFO http://c34f30683db9.ngrok.io/payment?id_compra=%2FYkv86B1UdMds9CuYr%2FbMCD3BpKL%2FzElNtVRc8KiALXWgtB343EjrUsmTObrBzv48FshzRu%2FD3Www4B+5SAxcb2xx78=
INFO ParseResult(scheme='http',netloc='c34f30683db9.ngrok.io',path='/payment',params='',query='id_compra=%2FYkv86B1UdMds9CuYr%2FbMCD3BpKL%2FzElNtVRc8KiALXWgtB343EjrUsmTObrBzv48FshzRu%2FD3Www4B+5SAxcb2xx78=',fragment='')
INFO ['/Ykv86B1UdMds9CuYr/bMCD3BpKL/zElNtVRc8KiALXWgtB343EjrUsmTObrBzv48FshzRu/D3Www4B 5SAxcb2xx78=']
我想获取 URL 中的参数,但结果将字符“+”更改为空白,我不希望这种情况发生。
解决方法
您可能可以引用查询以返回 urlsafe 格式。 urlparse 对查询进行一些简单的取消引用,您只需要逆向该过程。
$('#id,#id2').removeClass('hidden')