Как закодировать URL с urllib без замены ":" в "% 3A"? - PullRequest
0 голосов
/ 08 июля 2019

Мне нужно передать некоторую строку в качестве параметров для REST API.Я использую httplib2 для запроса API и urllib для кодирования параметров.

У меня есть что-то вроде этого с отметкой времени в формате:

('%Y-%m-%dT%H:%M:%S')/2019-07-08T13:20:23

, и я делаю это следующим образом:

values={'identifier' : identifier,
        'timestamp': timestamp,
        'signature-version': signature_version,
        'signature-method':signature_method,
         'signature': signature}

теперь при выполнении urlencode он удаляет ":" в "% 3A".

data = urllib.parse.urlencode(values)

и возвращает мне время, когда

timestamp=2019-07-08T13%3A20%3A23#

что-нибудь в библиотеке, которое может игнорировать это?Большое спасибо!

1 Ответ

1 голос
/ 08 июля 2019

Если вы используете urlencode, он всегда будет превращать ':' в '% 3A', потому что это единственный способ, которым URL будет анализировать его. Это то же самое, что передать символ пробела как «% 20». Символ «% 3A» не помешает функционированию вашего кода.

...