Учебники

Python — HTTP-клиент

В протоколе http запрос от клиента достигает сервера и извлекает некоторые данные и метаданные, предполагая, что это допустимый запрос. Мы можем проанализировать этот ответ от сервера, используя различные функции, доступные в модуле запросов python. Здесь приведенные ниже программы Python выполняются на стороне клиента и отображают результат ответа, отправленного сервером.

Получить первоначальный ответ

В приведенной ниже программе метод get из модуля запросов извлекает данные с сервера и печатает их в текстовом формате.

import requests
r = requests.get('https://httpbin.org/')
print(r.text)[:200]

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

<!DOCTYPE html >
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>httpbin.org</title>
  <link 
href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+

Получить ответ объекта сеанса

Объект Session позволяет сохранять определенные параметры в запросах. Он также сохраняет файлы cookie во всех запросах, сделанных из экземпляра сеанса. Если вы делаете несколько запросов к одному и тому же хосту, базовое TCP-соединение будет использовано повторно.

import requests
s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/31251425')
r = s.get('http://httpbin.org/cookies')

print(r.text)

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

{"cookies":{"sessioncookie":"31251425"}}

Ошибка обработки

В случае возникновения какой-либо ошибки из-за проблем при обработке запроса сервером, программа python может корректно обработать исключение, вызванное параметром timeout, как показано ниже. Программа будет ожидать определенного значения ошибки тайм-аута, а затем увеличит ошибку тайм-аута.