Python
March 3, 2023

PYTHON. Requests

requests.post предназначен для отправки HTTP POST-запросов на сервер. Он содержит следующие атрибуты:

  • requests.post(url, [params], [json], [headers], [cookies], [files], [auth], [timeout], [allow_redirects], [proxies], [hooks], [stream], [verify], [cert]): метод, который отправляет POST-запрос на указанный URL
  • url: URL-адрес веб-страницы, на которую будет отправлен запрос.
  • params: параметры запроса (если необходимо передать какие-то данные).
  • json: данные, передаваемые в теле запроса в формате JSON.
  • headers: заголовки запроса, передаваемые в виде словаря.
  • cookies: куки запроса, передаваемые в виде словаря.
  • files: файлы, передаваемые вместе с запросом.
  • auth: tuple или объект класса AuthBase, отвечающий за проверку прав доступа пользователя.
  • timeout: время ожидания ответа от сервера в секундах.
  • allow_redirects: флаг, разрешающий/запрещающий автоматический редирект при получении ответа от сервера.
  • proxies: конфигурация прокси-серверов.
  • hooks: словарь функций-обработчиков, вызываемых на различных стадиях выполнения запроса.
  • stream: флаг, указывающий, нужно ли получать данные по частям или всё целиком.
  • verify: флаг, разрешающий/запрещающий проверку сертификата сервера в SSL-соединении.
  • cert: сертификат клиента.

Метод requests.post возвращает объект типа Response, который содержит следующие атрибуты:

  • data: содержимое ответа на запрос.
  • text: текст ответа на запрос.
  • cookies: куки ответа на запрос.
  • headers: заголовки ответа на запрос.
  • status_code: код состояния HTTP-ответа.
  • history: список объектов Response , которые были получены при использовании параметра allow_redirects=True.
  • reason: краткое описание кода ответа на запрос.
  • request: объект PreparedRequest, содержащий данные запроса.

requests.get() является методом из библиотеки Requests в Python, который используется для выполнения HTTP GET запросов к серверам. Данный метод поддерживает следующие атрибуты:

  • url: строка URL-адреса, к которому будет отправлен запрос.
  • params: параметры запроса, передаваемые в виде словаря или строки. Эти параметры добавятся в URL-адрес как query-string и могут быть использованы, например, для фильтрации данных или пагинации.
  • timeout: время ожидания ответа от сервера. Если сервер не ответит в течение этого времени, будет сгенерировано исключение типа TimeoutError.
  • headers: заголовки, передаваемые в запросе. Заголовки обычно используются для передачи информации о клиенте в запросе, например, User-Agent, который сообщает серверу, с помощью какого программного обеспечения выполняется запрос.
  • cookies: куки, передаваемые в запросе. Куки используются для сохранения данных между запросами на сервер, например, чтобы сохранить пользовательские предпочтения или авторизационные данные.
  • auth: объект класса HTTPAuthClass, используемый для авторизации на сервере. В качестве значения можно передать кортеж (логин, пароль), либо объект класса HTTPProxyAuth.
  • allow_redirects: флаг, указывающий, разрешены ли перенаправления со стороны сервера. По умолчанию этот параметр равен True.
  • proxies: словарь со списком прокси-серверов, через которые нужно отправить запрос к серверу.
  • verify: флаг проверки SSL-сертификата сервера. Если значение равно True, то SSL-сертификат сервера будет проверяться на соответствие действительному сертификату. Если значение равно False, то проверки SSL-сертификата не происходит.
  • stream: флаг, указывающий на поточную передачу контента. Если значение равно True, то полученный от сервера контент будет передаваться поточно, а не целиком.
import requests

response = requests.get('https://www.google.com/',
                        params={'q': 'python'},
                        headers={'User-Agent': 'Mozilla/5.0'})
print(response.content)

Метод requests.get()возвращает объект типа Response, который содержит всю необходимую информацию о запросе и ответе. Вот некоторые из атрибутов объекта Response:

  • .text: содержит текстовое представление ответа от сервера.
  • .content: содержит бинарный (bytes) вид ответа от сервера.
  • .status_code: целочисленный код состояния ответа от сервера, например, 200 для ответа "OK".
  • .headers: словарь, содержащий заголовки ответа от сервера.

Кроме того, метод requests.get() принимает несколько параметров или аргументов, которые могут быть использованы для настройки запроса. Некоторые из стандартных параметров включают:

  • params: словарь параметров запроса, к примеру: {'key1': 'value1', 'key2': 'value2'}
  • timeout: время ожидания ответа от сервера.