К содержанию
CheckcraftСкачать
Практический сценарий

cURL: примеры GET и POST запросов с JSON для Linux, Windows и PowerShell

Большинство ошибок с curl связаны с кавычками и забытым заголовком Content-Type. Ниже команды, которые можно скопировать и поменять в них адрес.

Checkcraft ·

Поможем с первой проверкой →

GET-запрос и код ответа

Ключ -i показывает код ответа и заголовки, а -s убирает индикатор загрузки. Чтобы получить только код ответа, используйте -o и -w.

curl -i https://api.example.com/orders/42
curl -s -o /dev/null -w "%{http_code}\n" https://api.example.com/orders/42

POST с JSON в Linux и macOS

Тело передаётся ключом -d, а заголовок Content-Type: application/json обязателен: без него многие серверы не поймут формат. В bash JSON удобно брать в одинарные кавычки.

curl -X POST https://api.example.com/orders \
  -H "Content-Type: application/json" \
  -d '{"sku":"A-1","qty":2}'

Ключ --json

Начиная с curl 7.82 есть ключ --json: он сам ставит заголовки Content-Type и Accept для JSON и отправляет запрос методом POST.

curl --json '{"sku":"A-1","qty":2}' https://api.example.com/orders

POST в Windows: cmd и PowerShell

В cmd одинарные кавычки не работают: JSON берут в двойные, а кавычки внутри экранируют обратной косой чертой. В Windows PowerShell 5.1 слово curl является псевдонимом Invoke-WebRequest, поэтому вызывайте curl.exe. Самый надёжный способ на любой системе: положить JSON в файл и передать его через @.

REM cmd
curl -X POST https://api.example.com/orders -H "Content-Type: application/json" -d "{\"sku\":\"A-1\",\"qty\":2}"

# PowerShell и любая система: JSON из файла body.json
curl.exe -X POST https://api.example.com/orders -H "Content-Type: application/json" -d "@body.json"

Токен и другие заголовки

Каждый заголовок добавляется своим ключом -H. Токен лучше хранить в переменной окружения, а не вписывать в команду: команды остаются в истории терминала.

curl https://api.example.com/orders/42 \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

Как проверить ответ, а не только отправить

curl показывает ответ, но не говорит, верен ли он. Скопированную команду cURL можно импортировать в Checkcraft: запрос сохранится, а к ответу добавятся правила на статус, поля, типы и суммы. Как импортировать, описано в руководстве про cURL и OpenAPI.

Следующий шаг

Повторите это на своём API

Checkcraft — настольная программа: сохраняет проверки ответа API без кода и показывает, что не совпало. Начните с учебного примера, затем подставьте свои обезличенные данные. Free работает на Windows и Linux без ограничения срока.

Скачать FreeКак получить и запустить приложение

Скачивание без регистрации и почты, архив готов за пару минут. Состав бесплатной версии опубликован на странице тарифов.

Документация

Документация curl

Начните с примера по ссылкам и сопоставьте результат с требованием своей проверки.

Можно спросить человека

Поможем с первой проверкой

Расскажите, что хотите проверить или на каком шаге остановились. Поможем запустить Checkcraft, подобрать пример и разобраться с первым прогоном. Можно написать до скачивания.

Telegram-группа открытая: не публикуйте пароли, токены и конфиденциальные рабочие данные. Для первого вопроса достаточно описания задачи.

Можно написать напрямую support@checkcraft.ru

Без регистрации. Ответим по email. Это обращение в поддержку, а не подписка на рассылку.