← Назад к вопросам

Что такое cURL?

1.6 Junior🔥 251 комментариев
#Инструменты тестирования#Тестирование API

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

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 для:

  1. Quick API testing
  2. Shell scripts — автоматизация
  3. CI/CD pipelines
  4. Documentation — примеры
  5. Debugging — проверка на сервере

cURL — это мощный помощник для любого QA или DevOps инженера.