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-методов на сервере.
head(url, **kwargs) — Выполняет HTTP HEAD-запрос, возвращая только заголовки ответа без тела. Это позволяет получить метаданные о ресурсе без загрузки его содержимого.
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". Это следует использовать только для тестирования.