Как я могу сделать запрос, включающий символ "à" в его URL в Python? - PullRequest
0 голосов
/ 02 мая 2019

Я использую модуль запросов в Python, чтобы получить результат веб-страницы. Однако я обнаружил, что если URL-адрес содержит символ à в своем URL-адресе, он выдает UnicodeDecodeError:

UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xe0 в позиции 27: недопустимый байт продолжения

Странно, это происходит только в том случае, если я также добавляю пробел в URL. Так, например, следующее не выдает ошибку.

requests.get("http://myurl.com/àieou")

Однако, следующее делает:

requests.get("http://myurl.com/àienah aie")

Почему это происходит и как правильно сделать запрос?

Ответы [ 3 ]

2 голосов
/ 02 мая 2019

с использованием lib urllib для автоматического кодирования символов.

import urllib
requests.get("http://myurl.com/"+urllib.quote_plus("àieou"))
1 голос
/ 02 мая 2019

Использовать quote_plus () .

from urllib.parse import quote_plus

requests.get("http://myurl.com/" + quote_plus("àienah aie"))
0 голосов
/ 02 мая 2019

Вы можете попробовать URL кодировать ваше значение:

requests.get("http://myurl.com/%C3%A0ieou")

Значение à равно %C3%A0 после кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...