curl
21 commands
21 shown
POST JSON данные
Отправить JSON POST запрос с Bearer токеном
curl -s -X POST https://api.example.com/v1/resource -H 'Content-Type: application/json' -H 'Authorization: Bearer <token>' -d '{"key":"value"}' | jq .
Следовать редиректам с verbose
Полные заголовки запроса/ответа включая редиректы
curl -sLv https://example.com 2>&1 | grep -E '^[<>*]'
Замерить время запроса
Замерить DNS, подключение и TTFB
curl -so /dev/null -w 'DNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n' https://example.com
Скачать с прогрессом
Скачать файл показывая прогресс-бар
curl -L --progress-bar -o output.file https://example.com/file.tar.gz
Запрос с Basic Auth
HTTP запрос с Basic Authentication
curl -s -u user:password https://api.example.com/endpoint | jq .
Только HTTP статус код
Получить только код ответа — удобно в скриптах
curl -so /dev/null -w '%{http_code}' https://example.com
POST с JSON телом
Отправить JSON через POST
curl -X POST https://api.example.com/v1/items -H 'Content-Type: application/json' -d '{"name":"foo"}'
Авторизация Bearer токеном
Передать JWT/Bearer токен в заголовке Authorization
curl -H 'Authorization: Bearer $TOKEN' https://api.example.com/me
Следовать редиректам подробно
Следовать до 5 редиректов с полным выводом запрос/ответ
curl -Lv --max-redirs 5 https://example.com
Сохранить ответ в файл
Тихая загрузка с ошибкой при неуспехе и следованием редиректам
curl -sSL -o /tmp/result.json https://api.example.com/data
Время до первого байта
Измерить TTFB и общее время запроса
curl -o /dev/null -sS -w 'ttfb: %{time_starttransfer}s\ntotal: %{time_total}s\n' https://example.com
Только заголовки ответа
Напечатать HTTP заголовки ответа без тела
curl -sI https://example.com
Загрузить файл multipart
Multipart загрузка файла с дополнительными полями формы
curl -F 'file=@./report.pdf' -F 'user=alice' https://upload.example.com/api
HTTP/2 запрос
Принудить HTTP/2 и проверить протокол в ответе
curl --http2 -sI https://example.com | grep -i 'http\|alt-svc'
Кастомный DNS-резолвер
Переопределить DNS для host:port (тест за CDN/балансировщиком)
curl --resolve example.com:443:1.2.3.4 https://example.com
Повторные попытки при ошибке
Повторить до 5 раз с задержкой 2с при любой ошибке
curl --retry 5 --retry-delay 2 --retry-all-errors https://api.example.com/healthz
POST с form-data
Отправить данные формы в URL-encoded формате
curl -d 'user=alice&pass=secret' -X POST https://auth.example.com/login
Авторизация клиентским сертификатом
mTLS-запрос с клиентским сертификатом и кастомным CA
curl --cert client.crt --key client.key --cacert ca.crt https://secure.example.com
Параллельная загрузка через xargs
Скачать 5 URL параллельно и вывести коды ответа
cat urls.txt | xargs -P 5 -I{} curl -sSL -o /dev/null -w '%{url_effective} %{http_code}\n' {}
Тест WebSocket handshake
Проверить, что WebSocket upgrade отвечает кодом 101
curl -i -N -H 'Upgrade: websocket' -H 'Connection: Upgrade' -H 'Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==' -H 'Sec-WebSocket-Version: 13' http://localhost:8080/ws
Ограничить скорость загрузки
Ограничить скорость загрузки до 1 МБ/с
curl --limit-rate 1M -O https://example.com/bigfile.iso
no commands match