Документация по библиотеке Python Requests

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, ...}

Аналогичный код, без Requests:

import urllib2

gh_url = 'https://api.github.com'

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.

Документация/руководство по API

Если вы ищете информацию о конкретной функции, классе или методе, эта часть документации для вас.

Руководство для авторов

Если вы хотите внести свой вклад в проект, эта часть документации для вас.

Руководство завершено. Удачи.