Skip to content

Прапорці curl пояснені

Прапорці curl для щоденної роботи, згруповані за завданнями: формування запиту, налаштування заголовків, автентифікація, подання ідентичності, керування виводом, слідування за перенаправленнями, налаштування з'єднання та зневадження. Кожен рядок поєднує прапорець із реалістичним викликом.

curl надсилає HTTP-запит і виводить тіло відповіді. Більша частина його сили — у прапорцях: вони обирають метод, додають заголовки й дані, обробляють автентифікацію та вирішують, що виводиться. Довга форма показана там, де вона ясніша; коротка форма — одна літера. Беріть URL у лапки, щоб shell не з'їв рядок запиту.

Довідкова таблиця · 54 записів
54 of 54 rows
Форма запиту
Задає HTTP-метод.curl -X POST https://api.test
Додає заголовок запиту.curl -H "Accept: application/json" URL
Надсилає тіло (встановлює POST і типовий тип вмісту).curl -d "name=Ada" URL
Додає значення -d як параметри запиту до GET.curl -G -d "q=hi" URL
Надсилає multipart-дані форми (завантаження файлів).curl -F "file=@photo.png" URL
Надсилає дані форми із застосованим URL-кодуванням.curl --data-urlencode "name=Ada Lovelace" URL
Завантажує файл методом PUT.curl -T big.zip URL
Дописує завантаження до віддаленого файла замість заміни.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON та API
Надсилає JSON із правильним типом вмісту.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Надсилає вміст файла як тіло.curl -d @body.json URL
Надсилає JSON без ручного налаштування заголовків (curl 7.82+).curl --json '{"a":1}' URL
Автентифікація
Базова HTTP-автентифікація з ім'ям користувача та паролем.curl -u ada:s3cr3t URL
Надсилає токен bearer OAuth.curl --oauth2-bearer TOKEN URL
Надсилає будь-яку схему токена вручну.curl -H "Authorization: Bearer TOKEN" URL
Подає сертифікат клієнта та його ключ для взаємного TLS.curl --cert client.pem --key key.pem URL
Перевіряє сервер за одним файлом пакета CA.curl --cacert ca.pem URL
Перевіряє сервер за каталогом CA.curl --capath /etc/ssl/certs URL
Надсилає запит через проксі.curl -x http://proxy.test:8080 URL
Пропускає TLS-перевірку лише для стрибка до проксі.curl -x https://proxy.test:8443 --proxy-insecure URL
Вимагає TLS 1.3 як мінімальної версії.curl --tlsv1.3 URL
Ідентичність
Надсилає власний рядок User-Agent.curl -A "Mozilla/5.0" URL
Надсилає заголовок Referer.curl -e https://example.com/page URL
Надсилає cookies разом із запитом.curl -b "session=abc123" URL
Зберігає cookies відповіді у файл.curl -c cookies.txt URL
Вивід
Записує тіло у файл.curl -o page.html URL
Зберігає тіло під ім'ям віддаленого файла.curl -O https://site/file.tgz
Виводить заголовки відповіді над тілом.curl -i URL
Отримує лише заголовки (надсилає HEAD).curl -I URL
Ховає індикатор прогресу й помилки.curl -s URL
Виводить рядок формату після тіла (час, статус).curl -w "%{http_code}\n" -o /dev/null URL
Завершується ненульовим кодом при HTTP-помилках і пропускає тіло помилки.curl -f URL
Завершується ненульовим кодом при HTTP-помилках, але виводить тіло.curl --fail-with-body URL
Дає збереженому файлу ім'я із заголовка Content-Disposition.curl -OJ URL
Відновлює перервану передачу з місця зупинки.curl -C - -O URL
Показує смужку прогресу замість типового індикатора.curl -# -O URL
Виводить помилки навіть у тихому режимі.curl -sS URL
Записує заголовки відповіді у файл.curl -D headers.txt URL
Просить стиснуту відповідь і розпаковує її.curl --compressed URL
Створює відсутні каталоги в шляху -o.curl -o cache/api/data.json --create-dirs URL
Перенаправлення та з'єднання
Йде за перенаправленнями 3xx.curl -L URL
Максимум секунд очікування на TCP-з'єднання.curl --connect-timeout 5 URL
Максимум секунд на увесь запит.curl --max-time 30 URL
Пропускає перевірку TLS-сертифіката.curl -k https://self-signed.test
Повторює минущі помилки до N разів.curl --retry 3 URL
Повторює за будь-якої помилки, не лише минущої.curl --retry 3 --retry-all-errors URL
Примусово з'єднується через IPv4 або IPv6.curl -4 URL
Зв'язує хост і порт з адресою, оминаючи DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Прив'язує передачу до мережевого інтерфейсу або адреси.curl --interface eth0 URL
Передає кілька URL одночасно.curl -Z URL1 URL2
Використовує HTTP/2 або HTTP/3 для передачі.curl --http3 URL
Виводить тіло в міру надходження замість буферизації.curl -N URL
Читає додаткові прапорці з файла конфігурації.curl -K flags.cfg URL
Зневадження
Виводить повний обмін запитом і відповіддю.curl -v URL
Робить шістнадцятковий дамп усього надісланого й отриманого.curl --trace - URL