Как кодировать строки UT C datetime? - PullRequest
0 голосов
/ 04 февраля 2020

Я использую python urllib.parse.urlencode для кодирования тела запроса, чтобы сделать запрос get для URL. У меня возникают проблемы при кодировании строки даты и времени UT C.

Конечные точки ожидают, что дата будет выглядеть следующим образом: begin=2004-01-01T00:00:00&end=2019-04-21T00:00:00

, но после использования urlencode полезная нагрузка даты выглядит следующим образом: begin=2020-02-04T17%3A00%3A00&end=2020-02-04T20%3A00%3A00

Формат первой половины UT C datetime выглядит хорошо, (YYYY-MM-DDT), но вторая половина облажалась. Это должно выглядеть как T00:00:00, но это не так.

Я передаю словарь параметров в функцию urlencode:

params = { 'begin':'2020-02-04T17:00:00', 'end':'2020-02-04T20:00:00', } return urlencode(params, doseq=True) Как я могу закодировать дату в правильном формате? Пожалуйста, дайте мне знать, если есть что-то еще, что я могу вам помочь. Спасибо.

1 Ответ

1 голос
/ 19 февраля 2020

%3A - это : при кодировании urlen.

Следовательно, begin=2020-02-04T17:00:00&end=2020-02-04T20:00:00 при кодировании будет begin=2020-02-04T17%3A00%3A00&end=2020-02-04T20%3A00%3A00, как указано в вашем вопросе.

Формат правильный и существует ничего плохого в вашем коде.

...