Requests
Введение в Requests
• Requests - это библиотека для работы с HTTP-запросами в
Python. Она позволяет отправлять HTTP-запросы простым и
удобным способом, без необходимости использования
стандартных библиотек urllib.
• Ключевые особенности:
• Упрощает работу с HTTP-запросами
• Поддержка различных методов (GET, POST, PUT, DELETE)
• Автоматическая работа с заголовками и кодировками
• Поддержка сессий и аутентификации
Установка Requests
• Зачем устанавливать? Requests не входит в стандартную
библиотеку Python, поэтому его необходимо устанавливать
отдельно.
• pip install requests
Основы работы с GET-запросами
• Метод GET используется для получения данных с сервера.
• import requests
• response =
requests.get("https://jsonplaceholder.typicode.com/posts/1")
• print(response.status_code) # Код ответа
• print(response.json()) # Полученные данные в формате JSON
• Что происходит?
• requests.get(url) отправляет запрос
• response.status_code показывает HTTP-код ответа
• response.json() конвертирует ответ в формат JSON
Работа с POST-запросами
• POST-запросы используются для отправки данных на сервер.
• import requests
• url = "https://jsonplaceholder.typicode.com/posts"
• data = {"title": "Python", "body": "Requests", "userId": 1}
• response = requests.post(url, json=data)
• print(response.status_code)
• print(response.json())
• requests.post(url, json=data) отправляет JSON-данные на
сервер
• Сервер принимает данные и создаёт новый ресурс
Что такое заголовки в HTTP и зачем они
нужны?
• Заголовки (Headers) в HTTP-запросах и ответах – это
дополнительные метаданные, передаваемые между
клиентом (браузером, программой) и сервером. Они несут
информацию о типе контента, кодировке, аутентификации
и других параметрах взаимодействия.
Работа с заголовками
• Иногда требуется отправлять заголовки запроса. Например,
для аутентификации:
• headers = {"Authorization": "Bearer mytoken"}
• response = requests.get("https://api.example.com/data",
headers=headers)
• Зачем это нужно?
• Указание типа данных (Content-Type)
• Аутентификация (Authorization)