Что такое curl

curl - это утилита, установленная почти на всех ОС (Linux, macOS, Windows). Она делает то, что делает браузер, но без графики: запрашивает URL и выводит "сырой" ответ (HTML, JSON, FTP‑файлы и т.п.) прямо в терминал.

Почему он нужен

  • Автоматизация. Вывод curl легко передать в grep, sed, awk или jq. Так можно собрать погоду, курс криптовалют, статус сайта, цены‑товаров и любые другие данные без парсинга страниц в браузере.
  • Установка скриптов. Часто встречаются конструкции типа curl -fsSL https://example.com/install.sh | sh - работают одинаково на любой системе.
  • Загрузка/отдача. curl -O URL скачивает файлы, умеет следовать редиректам, возобновлять прерванные загрузки и передавать куки/аутентификацию. Поддерживает HTTP, HTTPS, FTP, SFTP, SMB, IMAP/POP3/SMTP и др.

Примеры, которые реально работают

Задача Команда Что делает
Показать HTML‑страницы curl https://example.com Выводит исходный код
Погода в терминале curl -s https://wttr.in Текстовый прогноз
Публичный IP curl ifconfig.me Возвращает ваш IP
Курс биткоина curl -s https://rate.sx/btc JSON‑ответ с ценой
Установка Ollama `curl -fsSL https://ollama.com sh`

Эти команды можно включить в cron‑задачи, чтобы получать уведомления о падении сайта, изменении цены или новых письмах.

Как собрать простой скрипт‑мониторинг

#!/usr/bin/env bash
# check_site.sh - проверка статуса и запись в лог

URL="https://my.site"
LOG="/var/log/site_check.log"

status=$(curl -s -o /dev/null -w "%{http_code}" "$URL")
date=$(date +"%Y-%m-%d %H:%M:%S")

echo "$date $URL $status" >> "$LOG"

Запланировать в cron (каждые 5 минут):

*/5 * * * * /usr/local/bin/check_site.sh

Почему curl лучше новых "wget‑похожих" утилит

  • Богатый набор протоколов - не только HTTP/HTTPS.
  • Гибкая работа с заголовками и куки - удобно для API‑запросов.
  • Поддержка многопоточных запросов (--parallel) без сторонних скриптов.
  • Малый размер и отсутствие зависимостей - работает даже в минимальных образах Docker.

curl - это не просто "старый" инструмент, а универсальный "текстовый браузер", который легко встраивается в любые пайплайны, скрипты и автоматические задачи. Его простота, кроссплатформенность и поддержка множества протоколов делают его незаменимым для администраторов, разработчиков и продвинутых пользователей, даже когда появляются более "модные" альтернативы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *