Документация по библиотеке Python Requests
Requests — это элегантная и простая HTTP-библиотека для Python, созданная для людей.
Узрите силу Requests:
>>> r = requests.get('https://digitology.tech/', 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, ...}
Аналогичный код, без Requests:
import urllib2
gh_url = 'https://digitology.tech/'
req = urllib2.Request(gh_url)
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, gh_url, 'user', 'pass')
auth_manager = urllib2.HTTPBasicAuthHandler(password_manager)
opener = urllib2.build_opener(auth_manager)
urllib2.install_opener(opener)
handler = urllib2.urlopen(req)
print(handler.getcode())
print(handler.headers.getheader('content-type'))
# ------
# 200
# 'application/json'
Requests позволяет очень легко отправлять HTTP/1.1 запросы. Нет необходимости вручную добавлять строки запроса к вашим URL-адресам или кодировать POST данные. Сохранение активности (Keep-Alive) и пулы HTTP-соединений на 100% автоматические, благодаря urllib3.
Любимые функции
Requests готов к работе уже сейчас.
Keep-Alive и пул подключений
Международные домены и URL-адреса
Сеансы с сохранением cookie файлов
Проверка SSL в стиле браузера
Автоматическое декодирование контента
Базовая/дайджест-аутентификация
Элегантные cookie с ключом/значением
Автоматическая декомпрессия
Автоматическая декодирование тела ответа
Поддержка HTTP(S) прокси
Многостраничная загрузка файлов
Потоковое скачивание
Таймауты подключения
Разбивка на части запоросов
Поддержка
.netrc
Requests официально поддерживает Python 2.7 и 3.6+ и отлично работает на PyPy.
Руководство пользователя
Эта часть документации, в основном прозаическая, начинается с некоторой справочной информации о Requests, а затем посвящена пошаговым инструкциям по максимально эффективному использованию Requests.
- Установка Requests
- Быстрый старт
- Выполнить запрос
- Передача параметров в URL-адресах
- Содержание ответа
- Контент двоичного ответа
- Содержимое JSON ответа
- Необработанный контент ответа
- Пользовательские заголовки
- Более сложный POST запросы
- POST файл с многократным кодированием
- Коды состояния ответа
- Заголовки ответов
- Cookie
- Перенаправление и история
- Таймауты
- Ошибки и исключения
- Продвинутое использование
- Объекты Session
- Объекты запроса и ответа
- Подготовка Requests
- Подтверждение сертификата SSL
- Сертификаты на стороне клиента
- Сертификаты CA
- Рабочий процесс с содержимым body
- Keep-Alive
- Потоковая загрузка
- Фрагментированное кодирование Requests
- POST несколько файлов с многократным кодированием
- Хуки событий
- Пользовательская аутентификация
- Стриминг Requests
- Прокси
- Согласие
- HTTP-глаголы
- Пользовательские глаголы
- Заголовки ссылок
- Транспортные адаптеры
- Блокирующий или неблокирующий?
- Порядок заголовков
- Таймауты
- Аутентификация
Руководство от сообщества
Эта часть документации, в основном прозаическая, подробно описывает экосистему и сообщество Requests.
Документация/руководство по API
Если вы ищете информацию о конкретной функции, классе или методе, эта часть документации для вас.
Руководство для авторов
Если вы хотите внести свой вклад в проект, эта часть документации для вас.
Руководство завершено. Удачи.