Requests
Описание
это библиотека, позволяющая отправлять HTTP-запросы разного уровня сложности веб-сервисам и получать от них соответствующие ответы.
Зачем это нужно
Какие проблемы решает.
Как работает
Requests работает поверх HTTP протокола.
Flow работы выглядит так:
graph LR
A[python code] --> B[requests]
B --> C[HTTP request]
C --> D[server/API]
D --> E[HTTP response]
E --> F[requests object]
F --> G[python code]
Базовое использование
Активировать виртуальное окружение
Инструкцию вы найдете тут: виртуальное окружение
1. Активировать virtualenv
2. Установить requests
3. Проверить установку
4. Использовать библиотеку
5. Первый запрос
Что происходит внутри
Когда выполняется:
происходит следующее:
- DNS lookup
- создание TCP соединения
- TLS handshake (если HTTPS)
- отправка HTTP GET запроса
- ожидание ответа
- получение response
- преобразование данных в python объект
Основные объекты requests
Response object
Requests возвращает объект Response.
Полезные поля:
| Поле | Значение |
|---|---|
response.status_code |
HTTP код ответа |
response.text |
текст ответа |
response.json() |
json response |
response.headers |
HTTP headers |
response.content |
bytes response |
Best practices
Использовать timeout
f
Плохо:
Хорошо:
Предупреждение
Без timeout приложение может зависнуть навсегда.
Anti-patterns
Как делать НЕ надо.
Типичные ошибки
Реальные production ошибки.
Полезные команды
Шпаргалка.
Итог
Краткое summary.