使用Python 3解码经过两次编码的URL(包含%25xx)

问题描述 投票:0回答:2

有没有办法在 Python 3 中对字符串进行 URL 解码

拿这样的东西

id%253D184ff84d27c3613d%26quality%3Dmedium

解码两次得到

id=184ff84d27c3613d&quality=medium
python urlencode
2个回答
128
投票

只需使用

urllib.parse.unquote()

>>> import urllib.parse
>>> urllib.parse.unquote('id%253D184ff84d27c3613d%26quality%3Dmedium')
'id%3D184ff84d27c3613d&quality=medium'
>>> urllib.parse.unquote('id%3D184ff84d27c3613d&quality=medium')
'id=184ff84d27c3613d&quality=medium'

18
投票

试试这个:

from urllib.parse import unquote
s = 'id%253D184ff84d27c3613d%26quality%3Dmedium'
unquote(unquote(s))

它将返回:

'id=184ff84d27c3613d&quality=medium'
© www.soinside.com 2019 - 2024. All rights reserved.