requests.Session

Объект requests.Session предоставляет следующие методы и свойства:

__init__() — Инициализирует новый объект сессии. Не принимает аргументов.

cookies — Словарь, содержащий cookies, которые сохраняются между запросами. Можно читать и записывать. Используется для управления cookies между сессиями, что позволяет сохранять состояние между запросами, например, авторизацию.

proxies — Словарь, содержащий настройки прокси-серверов для использования в запросах. Можно читать и записывать. Прокси могут быть установлены для разных протоколов (HTTP, HTTPS, FTP), и они будут применяться ко всем запросам в рамках сессии.

max_redirects — Число, означающее максимальное количество перенаправлений, которое будет обработано модулем requests перед возникновением исключения TooManyRedirects. По умолчанию равно 30.

auth — Кортеж или объект аутентификации, который будет прикреплен к каждому запросу. Используется для автоматического добавления данных аутентификации к запросам.

cert — Путь к SSL-сертификату клиента или кортеж вида ('cert', 'key') для передачи клиентского сертификата и закрытого ключа для установления защищённого соединения.

get(url, **kwargs) — Выполняет HTTP GET-запрос к указанному URL. Этот метод используется для получения данных с сервера, при этом все настройки сессии, такие как cookies и прокси, будут применяться автоматически.

options(url, **kwargs) — Выполняет HTTP OPTIONS-запрос к указанному URL для получения информации о поддерживаемых методах для данного ресурса. Полезен для проверки доступных HTTP-методов на сервере.

post(url, data=None, json=None, **kwargs) — Выполняет HTTP POST-запрос для отправки данных на сервер. Может использоваться для отправки данных в теле запроса, таких как формы или JSON-объекты.

put(url, data=None, **kwargs) — Выполняет HTTP PUT-запрос для обновления ресурса на сервере. Обычно используется для замены текущего ресурса на сервере новыми данными.

patch(url, data=None, **kwargs) — Выполняет HTTP PATCH-запрос для частичного обновления ресурса. Используется для обновления только части данных ресурса, в отличие от PUT, который заменяет весь ресурс.

delete(url, **kwargs) — Выполняет HTTP DELETE-запрос для удаления ресурса. Используется для удаления данных или ресурсов с сервера.

request(method, url, **kwargs) — Базовый метод для выполнения HTTP-запроса любого метода (GET, POST, PUT, DELETE и других). Этот метод позволяет гибко работать с любыми HTTP-методами.

close() — Закрывает все соединения в пуле соединений сессии. Этот метод должен быть вызван, когда сессия больше не используется, чтобы освободить ресурсы, связанные с соединениями.

mount(prefix, adapter) — Привязывает адаптер к префиксу URL для обработки запросов к этому префиксу. Это позволяет настроить различные адаптеры для разных URL-адресов, например, для специфических доменов или маршрутов.

  • prefix: Начало URL, к которому применяется адаптер.
  • adapter: Экземпляр адаптера, который будет обрабатывать запросы для указанного префикса.

merge_environment_settings(url, proxies, stream, verify, cert) — Сливает параметры окружения с параметрами, переданными в методе запроса. Это позволяет использовать параметры из окружения, такие как прокси и настройки сертификатов, для создания окончательных параметров запроса.

prepare_request(request) — Подготавливает объект Request к отправке, добавляя в него такие вещи, как cookie из сессии и другие настройки. Этот метод используется для подготовки запроса перед его отправкой.

  • request: Объект Request для подготовки.

send(request, **kwargs) — Отправляет уже подготовленный запрос. Этот метод используется для отправки запроса, подготовленного с помощью prepare_request.

  • request: Подготовленный объект Request.
  • kwargs: Дополнительные аргументы для настройки отправки.

get_adapter(url) — Возвращает адаптер для данного URL. Адаптер используется для управления соединениями для различных типов протоколов и серверов.

  • url: URL-адрес, для которого нужно получить адаптер.

rebuild_auth(prepared_request, response) — Перестраивает аутентификацию для запроса на основе ответа сервера, если требуется повторная аутентификация. Это полезно, когда сервер запрашивает повторную аутентификацию после первоначального ответа.

  • prepared_request: Подготовленный запрос.
  • response: Ответ сервера.

rebuild_method(prepared_request, response) — При перенаправлениях может понадобиться изменить HTTP-метод запроса в зависимости от поведения сервера. Этот метод позволяет адаптировать метод запроса в соответствии с правилами перенаправления.

rebuild_proxies(prepared_request, proxies) — Пересчитывает настройки прокси, проверяя окружение и настройки для корректного применения после перенаправлений.

  • prepared_request: Подготовленный запрос.
  • proxies: Прокси-серверы для пересмотра.

get_redirect_target(resp) — Принимает объект ответа и возвращает URL перенаправления, если таковое имеется, или None.

  • resp: Ответ от сервера.

should_strip_auth(old_url, new_url) — Определяет, следует ли удалить заголовок авторизации при перенаправлении на новый URL.

build_response(req, resp) — Создает объект Response на основе запроса и ответа. Этот метод используется для создания объекта Response, который содержит все детали ответа от сервера.

  • req: Запрос.
  • resp: Ответ от сервера.

resolve_redirects(resp, req, stream=False, timeout=None, verify=True, cert=None, proxies=None, yield_requests=False, **adapter_kwargs) — Обрабатывает перенаправления, возвращая последний ответ после всех перенаправлений. Этот метод используется для того, чтобы следовать всем перенаправлениям, возвращая окончательный результат.

  • resp: Первоначальный ответ.
  • req: Исходный запрос.
  • stream, timeout, verify, cert, proxies: Параметры запроса для перенаправлений.

stream — Определяет, нужно ли немедленно загружать контент ответа. По умолчанию False.

trust_env — Управляет доверием к настройкам окружения для конфигурации прокси, аутентификации и других параметров.

verify — Устанавливает флаг проверки SSL. По умолчанию True, что требует проверки сертификата TLS удаленного сервера. Когда установлено в False, requests принимает любые TLS-сертификаты, что делает приложение уязвимым к атакам "man-in-the-middle". Это следует использовать только для тестирования.