Requests – это элегантная и простая HTTP-библиотека для Python, созданная для людей.


Следующий пример кода иллюстрирует всю мощь, заключенную в Requests:

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
'{"type":"User"...'
>>> r.json()
{'private_gists': 419, 'total_private_repos': 77, ...}

Полюбившиеся возможности

  • Постоянные соединения и пул соединений (Keep-Alive & Connection Pooling).
  • Международные домены и URL.
  • Сессии с сохранением Cookie.
  • Проверка SSL по принципу работы браузера.
  • Автоматическое декодирование контента (полезного содержимого запросов).
  • Базовая и дайджест-аутентификация.
  • Элегантный функционал ключ-значение для работы с Cookies.
  • Автоматическая распаковка.
  • Содержимое ответа в Unicode.
  • Поддержка HTTP(S) Proxy.
  • Загрузка нескольких файлов multipart file uploads.
  • Потоковые загрузки.
  • Таймаут подключения Connection Timeouts.
  • Запросы части контента (докачка).
  • Поддержка .netrc.

Requests официально поддерживает Python 2.7 и 3.4–3.7 и отлично работает на PyPy.

Руководство пользователя

Эта часть документации, которая в основном является вводной, включая некоторую справочную информацию о Requests. Также здесь представлены пошаговые инструкции для получения вами максимальной эффективности от использования Requests.