Что такое cURL?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
cURL: инструмент для работы с HTTP запросами
cURL — это команда строка инструмента которую я использую почти ежедневно при тестировании API. За 10+ лет это стал моим верным помощником.
Что такое cURL
cURL (Client URL) — это утилита командной строки для передачи данных по URL. Поддерживает множество протоколов: HTTP, HTTPS, FTP, FTPS, SCP.
Основное применение:
- Тестирование API endpoints
- Отправка HTTP запросов
- Загрузка/скачивание файлов
- Автоматизация в скриптах
Базовые команды
GET запрос: curl https://api.example.com/users
GET с параметрами: curl "https://api.example.com/users?page=2&per_page=10"
POST с JSON:
curl -X POST https://api.example.com/users
-H "Content-Type: application/json"
-d '{"name":"Иван","email":"ivan@example.com"}'
PUT (обновление):
curl -X PUT https://api.example.com/users/123
-H "Content-Type: application/json"
-d '{"name":"Петр"}'
DELETE: curl -X DELETE https://api.example.com/users/123
Работа с Headers
Добавление custom header:
curl https://api.example.com/users
-H "Authorization: Bearer TOKEN"
-H "X-Custom-Header: value"
Просмотр headers: curl -i https://api.example.com/users (всё) curl -I https://api.example.com/users (только headers)
Authentication
Basic: curl -u username:password https://api.example.com/users
Bearer Token: curl -H "Authorization: Bearer TOKEN" https://api.example.com/users
API Key: curl -H "X-API-Key: key123" https://api.example.com/users
Полезные флаги
-s / --silent — тихий режим без progress bar -v / --verbose — детальный вывод -L / --location — следовать редиректам -w / --write-out — вывести статистику (время, статус) -o / --output — сохранить в файл -X / --request — указать HTTP метод
Практические примеры
Автоматизация с bash:
LOGIN=$(curl -s -X POST api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"test@test.com","password":"123456"}')
TOKEN=$(echo $LOGIN | grep -o '"token":"[^"]*' | cut -d'"' -f4)
curl -H "Authorization: Bearer $TOKEN" api/users
Загрузка файла: curl -X POST api/upload -F "file=@/path/file.pdf"
Скачивание файла: curl -o saved_file.pdf https://api.example.com/file.pdf
cURL vs Postman
cURL: быстро, в terminal, легко автоматизировать, CLI Postman: удобный UI, сохранение, история, но медленнее
Я использую cURL для:
- Quick API testing
- Shell scripts — автоматизация
- CI/CD pipelines
- Documentation — примеры
- Debugging — проверка на сервере
cURL — это мощный помощник для любого QA или DevOps инженера.