Ответ
Отправка HTTP-запросов — базовая операция в тестировании API, веб-разработке и автоматизации. Инструменты выбираются в зависимости от задачи.
| Категория | Инструмент/Метод | Пример использования |
|---|---|---|
| Ручное тестирование | Postman, Insomnia | Быстрая проверка эндпоинтов, создание коллекций. |
| Командная строка | cURL | Автоматизация в скриптах, CI/CD пайплайны. |
| Программирование | Библиотеки (Python requests, JS axios/fetch) |
Автоматизация тестов, интеграция с кодом. |
| Браузер | DevTools (Network tab) | Анализ запросов фронтенд-приложения. |
| Автотесты | Фреймворки (RestAssured, Karate) | Создание поддерживаемых API-тестов. |
Примеры кода:
# cURL: GET-запрос с заголовками
curl -X GET 'https://api.example.com/v1/users'
-H 'Authorization: Bearer token123'
# Python requests: POST-запрос с JSON телом
import requests
response = requests.post(
'https://api.example.com/v1/login',
json={'username': 'test', 'password': 'secret'},
headers={'Content-Type': 'application/json'}
)
print(response.status_code)
print(response.json())
// JavaScript fetch: асинхронный GET-запрос
fetch('https://api.example.com/v1/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));