Форум сайта python.su
использую python 3.7.3
ос Windows 7
работаю с requests
Мне в headers нужно указать кое какой атрибут равный строке с содержанием “…” или же u“\u2026” этого символа. когда я выполняю программу пишет ошибка:
UnicodeEncodeError: ‘latin-1’ codec can't encode character ‘\u2026’ in position 30: ordinal not in range(256)
вот пример кода:
import requests
header = {
'test' : ‘…’,
}
html = requests.get('https://www.google.com/', headers = header).text
>>>UnicodeEncodeError: ‘latin-1’ codec can't encode character ‘\u2026’ in position 30: ordinal not in range(256)
прошу помочь
Офлайн
Я не спец, но ваш код вызвал у меня ошибку синтаксиса.
Переправил его:
import requests header = { 'test': "‘…’", } html = requests.get('https://www.google.com/', headers = header).text
import requests headers={"content-type":"text"} html = requests.get('https://www.google.com/', headers = headers).text print(html)
Офлайн
Вообще в заголовках нужно использовать ASCII символы (насколько это явно прописано в стандарте я не смотрел). Поэтому когда вы туда поставляете обычный текст внутри requests он конвертируется неудачно. Одно из решений использовать всякие MIME кодировки и тп, что там стандарт позволяет.
А воообще обычно это не нужно, исключение частое это имена фалов - и вот этот вопрос явно хорошо гуглится.
Офлайн