Мы можем прочитать содержимое ответа сервера. Рассмотрим временную шкалу GitHub снова:
запросы на импорт
r = reports.get ('https://api.github.com/events')
r.text
и '[{ "хранилище": { "open_issues": 0, "URL": "https://github.com/...
Запросы автоматически декодируют контент с сервера. Большинство кодировок Юникода легко декодируются.
Когда вы делаете запрос, Requests делает обоснованные предположения о кодировке ответа на основе заголовков HTTP. Кодировка текста, угаданная запросами, используется при доступе к r.text. Вы можете узнать, что использует Requests для кодирования, и изменить его, используя свойство r.encoding:
r.encoding
'UTF-8'
r.encoding = 'ISO-8859-1'
Если вы измените кодировку, Requests будет использовать новое значение r.encoding при каждом вызове r.text. Возможно, вы захотите сделать это в любой ситуации, когда вы можете применить специальную логику, чтобы определить, какой будет кодировка контента. Например, HTML и XML имеют возможность указать свою кодировку в своем теле. В подобных ситуациях вы должны использовать r.content для поиска кодировки, а затем установить r.encoding. Это позволит вам использовать r.text с правильной кодировкой.
Запросы также будут использовать пользовательские кодировки, если они вам нужны. Если вы создали свою собственную кодировку и зарегистрировали ее в модуле кодеков, вы можете просто использовать имя кодека в качестве значения r.encoding, а запрос будет обрабатывать декодирование для вас.