$ curl
Отправляет запросы к сайтам и API из терминала. Команда умеет получать данные, передавать параметры, показывать заголовки ответа и сохранять результат в файл. Например, curl -I https://example.com покажет только HTTP-заголовки ответа.
Синтаксис
curl [ОПЦИИ] URL
Основные опции
| -o ФАЙЛ | сохранить ответ в файл |
| -I | только заголовки ответа (HEAD) |
| -s | тихий режим, без прогресс-бара |
| -L | следовать редиректам |
| -X МЕТОД | задать метод (POST, PUT, DELETE) |
| -H ЗАГОЛОВОК | добавить заголовок |
| -d ДАННЫЕ | тело запроса (включает POST) |
Примеры из практики
$ curl -sL https://api.github.com/repos/torvalds/linuxПосле запуска · пошаговоЧто произойдёт: тихий запрос к API с редиректами. Что появится в терминале: Команда выведет результат обработки либо сообщения о ходе выполнения. Точный текст зависит от файлов, настроек системы и версии утилиты. Как понять, что всё получилось: Терминал вернулся к приглашению без Error/Failed. Для дополнительной проверки выполните «echo $?»: значение 0 обычно означает успех.
$ curl -X POST -d "user=dev" https://httpbin.org/postПосле запуска · пошаговоЧто произойдёт: форма POST на тестовый сервис. Что появится в терминале: Команда выведет результат обработки либо сообщения о ходе выполнения. Точный текст зависит от файлов, настроек системы и версии утилиты. Как понять, что всё получилось: Терминал вернулся к приглашению без Error/Failed. Для дополнительной проверки выполните «echo $?»: значение 0 обычно означает успех.
$ curl -I https://example.comПосле запуска · пошаговоЧто произойдёт: только заголовки — код ответа и сервер. Что появится в терминале: HTTP/2 200 content-type: text/html cache-control: max-age=86000 Как понять, что всё получилось: Команда завершилась без Error/Failed, и в выводе есть ожидаемые данные. Важно: Имена, адреса, даты, размеры и номера версий на вашей системе будут другими — это нормально.
Совет практика. В скриптах добавляйте --fail: curl вернёт ошибку на HTTP 4xx/5xx вместо тела страницы с ошибкой.
Поддержка дистрибутивов
- ✓ Ubuntu
- ✓ Debian
- ✓ Fedora
- ✓ RHEL
- ✓ Arch
- ✓ Alpine
- ✓ openSUSE