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.
-
Введение
- Философия Requests
- Apache2 License
- Requests License
- Установка Requests
-
Быстрый старт
- Формируем запрос
- Передача параметров в URL
- Содержимое ответа
- Содержимое ответа сервера в бинарном виде
- Содержимое ответа сервера в формате JSON
- Необработанное Raw содержимое ответа
- Пользовательские заголовки запроса
- Более сложные запросы POST
- Передача POST multipart-Encoded файлов (бинарных данных)
- Коды статуса ответа
- Заголовки ответа
- Cookies
- Перенаправление и история
- Таймауты
- Ошибки и исключения
-
Продвинутое использование
- Session объект сеанса (сессии) браузера
- Объекты запроса и ответа
- Подготовленные запросы
- Проверка SSL сертификата
- SSL сертификаты на стороне клиента
- CA сертификаты
- Работа с потоковым содержимым запроса
- Поддержка открытых Keep-Alive соединений
- Потоковая загрузка данных
- Запросы с использованием механизма Chunked Transfer Encoding
- Загрузка файлов методом POST с Content-Type:multipart/form-data
- Хуки событий
- Пользовательские способы аутентификации
- Потоковые запросы Streaming Requests
- Использование прокси
- Сокеты
- Соответствие стандартам
- Кодировки
- HTTP методы
- Пользовательские методы запросов
- Ссылки в заголовках запроса
- Транспортные адаптеры
- Пример: использование определенной версии SSL
- Блокирующий или неблокирующий?
- Порядок заголовков
- Тайм-ауты соединений
- Аутентификация