Этот терминальный чит-код: почему без curl я не вижу смысла работать за компьютером!

Tux mascot sitting with a laptop looking up at a curl command.

Кратко

Curl (Client URL) — мощная консольная утилита, которая уже стоит почти на каждом компьютере: будь то Windows, macOS или Linux. Представьте браузер, который работает прямо в терминале и «общается» только текстом. В этом и заключается его уникальность — curl встречается буквально везде, где есть технологии. Даже несмотря на появление современных аналогов (например, wget), по-настоящему заменить curl пока никто не смог. Если вы хоть немного работали с Linux, наверняка уже набирали команды curl.

Что такое curl

Обычно мы смотрим сайты через привычный браузер: открываем вкладку, вводим адрес — и видим красивую страницу с картинками, стилями и интерфейсом. За этим стоит большая «кухня» — компьютер превращает исходный код в удобный для восприятия вид, и на это уходит немало ресурсов.

Curl — это тоже своего рода браузер, только он ничего не «рисует», а просто показывает вам исходный код страницы — прямо в терминале, обычным текстом. Например, если запросить через curl https://www.google.com, вы увидите «сырой» HTML всей страницы.

Output from the curl command showing the HTML source of a page.

Что можно делать с помощью curl

Зачем вообще смотреть этот «сырой» код в терминале? На первый взгляд кажется, что простому пользователю в этом нет смысла. Но если нужно автоматизировать получение информации — curl станет незаменимым! В Linux полно инструментов для обработки текста: можно «пробросить» вывод curl через grep, sed, awk — и оставить только нужные куски данных. Например, получать котировки акций, погоду, следить за скидками или отслеживать снижение цен. Всё, что видно на веб-странице, теоретически можно «вытащить» через curl.

Using a curl and grep command.

Возможно, вы уже встречались с curl при установке софта с GitHub — когда команда через терминал мгновенно качает и запускает скрипт Bash. Обычно такие трюки работают на любой ОС, так что установка превращается в вопрос пары секунд. Например, чтобы поставить Ollama (это приложение для локального запуска LLM-моделей), нужна только одна строчка с curl.

Вот пример: команда, которая покажет вам свежий прогноз погоды прямо в терминале для выбранного города.

Loading weather forecasts for particular cities within the terminal.

Ещё одна полезная команда на curl — узнать ваш внешний IP-адрес за пару секунд.

Или — быстро получить курс криптовалюты в режиме реального времени, всё той же одной командой curl.

Looking up crypto prices using curl.

Мощные shell-скрипты с curl: автоматизируй всё!

Самое главное в curl — его умение «дружить» с другими инструментами Linux и встраиваться в shell-скрипты для автоматизации рутины. Любую команду, например с курсами крипты, можно подсоединить к cron и получать уведомления о скачках прямо на почту или в мессенджер (curl тоже умеет отправлять сообщения!).

JSON-formatted data representing a product obtained from dumyjson.com using curl and jq.

Если вы занимаетесь веб-разработкой, curl поможет понять, что происходит с сайтом на сервере. Браузер чаще всего просто покажет ошибку загрузки страницы, а вот curl подскажет настоящий HTTP-код (например, 200 OK или 500 Server Error). Всего пара строк в shell-скрипте — и ваш cron регулярно проверяет состояние сайта, пишет логи и мгновенно уведомляет вас, если что-то пошло не так.

Качаем и загружаем файлы: интернет «на кончиках пальцев» с curl

Кроме текстовой информации, curl отлично скачивает и любые другие файлы. Просто впишите ссылку и добавьте -o: файл тут же окажется в вашей папке. Если сайт перенаправит вас на другую страницу скачивания, curl сам разберётся и всё скачает. Прервали загрузку? Не проблема — можно продолжить с любого места.

Output from curl showing two forms of file download, the latter with a simple one-line progress bar.

Иногда для скачивания файла нужно войти в аккаунт. И это не помеха! Передайте curl ваш session cookie и ссылку — он заберёт нужное, будто вы сами залогинились вручную.


Подпишитесь — и получите ещё больше крутых лайфхаков и идей для curl и shell-автоматизации!

Curl работает не только с HTTP и HTTPS — спокойно скачивайте через FTP, SFTP, SMB, отправляйте и получайте почту по IMAP, POP3 или SMTP. Например, элементарно сделать скрипт, который скачает и заархивирует всю вашу переписку.

Для меня (и для любого продвинутого пользователя или разработчика) curl — это универсальный комбайн для получения сведений из Интернета, работы с файлами и прямого общения с серверами. И самое классное — полученные данные можно тут же «скормить» другим программам, строя цепочки автоматизации и создавая мощные shell-скрипты.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий