Как иметь Unicode простой текст в запросе? - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть строка с символом ý.У меня он есть в python как \ u00fd, и он даже правильно выводит на консоль.Однако, когда я передаю эту строку в request.get, она изменяется на% C3% BD.Как сделать так, чтобы запрос передавал символ ý, не меняя его?

1 Ответ

0 голосов
/ 03 февраля 2019

Вы не можете сделать это.

Запросы - это URL в специальной форме.URL имеют предопределенный формат.В таком формате все символы, кроме буквенно-цифровых символов ascii и ., -, _, ~, должны быть закодированы с использованием процентного кодирования.

Если это не сделать, сеть станет намного менее совместимой: ý - это \ u00fd только для вас (хорошо, теперь UTF-8 является стандартным для веб-сайтов, но несколько лет назад это было не так, и у нас все еще есть много старых веб-инструментов).

Таким образом, ваш ý должен всегда кодироваться с процентным кодированием, а модуль requests просто применяет стандартные веб-правила.Если вы хотите быть не способным к взаимодействию, вы должны написать URL самостоятельно.Запросы выполняются для упрощения всех деталей сети (протоколы HTTP).

...