Подтвердить что ты не робот

Как декодировать (двукратно) строку "url-encoded" в python

Происходит декодирование строки url-encoded следующим образом

some_string = 'FireShot3%2B%25282%2529.png'
import urllib
res = urllib.unquote(some_string).decode()
res
u'FireShot3+%282%29.png'

Оригинальная строка FireShot3 (2).png. Любая помощь будет оценена.

Ответ: urllib.unquote_plus(urllib.unquote_plus(some_string)) из-за двойного кодирования.

4b9b3361

Ответ 1

Ваш вход закодирован в два раза. Использование Python 3:

urllib.parse.unquote(urllib.parse.unquote(some_string))

Вывод:

'FireShot3+(2).png'

теперь у вас есть + слева.

Edit:

Используя Python 2.7, это, конечно же, это:

urllib.unquote(urllib.unquote('FireShot3%2B%25282%2529.png'))

Ответ 2

urllib.unquote_plus(urllib.unquote_plus(some_string)) FireShot3 (2).png