Уведомления

Группа в Telegram: @pythonsu

#1 Июль 11, 2019 13:37:35

Randommist
Зарегистрирован: 2019-07-11
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с кодировкой requests

использую 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)

прошу помочь

Офлайн

#2 Авг. 13, 2019 11:50:31

ZiG
Зарегистрирован: 2018-12-16
Сообщения: 47
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с кодировкой requests

Я не спец, но ваш код вызвал у меня ошибку синтаксиса.
Переправил его:

 import requests
header = {
'test': "‘…’",
}
html = requests.get('https://www.google.com/', headers = header).text
И тогда возникла та же ошибка что у вас, помогло указание нормального headers
 import requests
headers={"content-type":"text"}
html = requests.get('https://www.google.com/', headers = headers).text
print(html)

Офлайн

#3 Авг. 13, 2019 12:23:36

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

проблема с кодировкой requests

Вообще в заголовках нужно использовать ASCII символы (насколько это явно прописано в стандарте я не смотрел). Поэтому когда вы туда поставляете обычный текст внутри requests он конвертируется неудачно. Одно из решений использовать всякие MIME кодировки и тп, что там стандарт позволяет.
А воообще обычно это не нужно, исключение частое это имена фалов - и вот этот вопрос явно хорошо гуглится.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version