uz
KA
июня 23, 2025
Обновлено июня 23, 2025

Как использовать Curl в Linux?

Linux

CURL или же client URL представляет собой многофункциональную утилиту, позволяющую общаться с серверами по протоколам HTTP, HTTPS, FTP, FTPS, SCP, SSH и многими другими. Основное применение пользователи нашли в использовании утилиты для запросов к веб-серверам. Однако функционал утилиты, благодаря библиотеке libcurl, оставляет большой размах для возможностей.

Как установить curl?

Установка стандартна, как и для любого пакета Linux подобной системы. Необходимо сначала обновить репозиторий, если вы используете apt-менеджер, то пропишите команду:

apt update && apt upgrade \
apt install curl -y

Для RPM-подобного менеджера пакетов используйте соответствующие команды:

dnf update && dnf upgrade \
dnf install curl -y
Установка CURL
Скриншот №1 — Установка CURL

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

curl --help category
Категории справки
Скриншот №2 — Категории справки

В данном списке представлен полный перечень протоколов, которые могут использоваться для коммуникации с серверами. Если заменить в предыдущей команде слово category на один из приведенных пунктов, то откроется подробное руководство по использованию каждой из опции:

curl help http

Команда выше, как пример поиска команд для работы по http протоколу.

Основные примеры работы

Рассмотрим основные примеры для работы с утилитой, но перед этим  определимся с используемым синтаксисом:

curl [options] <URL>

Основная команда для вызова утилиты curl,  ее основные опции и сам URL, по которому происходит обращение.

Как скачать файл с помощью Curl?

По умолчанию, при обращении к сайту curl формирует GET-запрос, который и запрашивает у сервера заголовки и сам файл. Для сохранения файла пропишем команду:

curl -Lo /tmp/articles.pdf <URL>
Загрузка файла
Скриншот №3 — Загрузка файла

Обратите внимание, что для скачивания с сайта, у которого может быть самоподписной сертификат необходимо дополнительно использовать опцию -k

После скачивания файл сохранится в директорию /tmp/ под названием articles.pdf, за что отвечает опция -o. А другая -l означает, что если сайт ответит кодом 301, 302 и т.д. о перенаправлении, то curl автоматически перейдет  на нужный сайт и скачает файл. Файл так же можно оставить с оригинальным названием и скачать в текущую директорию:

curl -Lo <URL>

Однако если вы хотите вывести файл прямиком в терминал, для этого вместо названия файла оставьте тире:

curl -Lo - <URL> 

Подобное решение позволит быстрее просмотреть содержимое файла с его заголовками и метаописанием, что может потребоваться для проверки содержимого файла. Например, pdf на наличие встроенных скриптов.

Обратите внимание, что вывод файла в терминал может нарушить его корректную работу. Поэтому рекомендуется сохранять в файл.

Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:

Создание сервера
Скриншот №4 — Создание сервера

Потребуется некоторое время для развертывания серверных мощностей. После чего вы можете подключиться любым из удобных способов. На основе предлагаемы VPS и VDS серверов, так же можно развернуть уже свою виртуальную инфраструктуру. Вернемся к обзору утилиты.

Как просмотреть заголовки с помощью Curl?

Перед тем скачать тот или иной файл или провести кэширование, необходимо собрать информацию о странице/файле, к которому будет происходить обращение. К примеру, на сайте хостится файл формата pdf и необходимо узнать его: наименование, размер и данные о последней модификации файла. Для этого пропишем команду следующего вида:

curl -lkI <URL>
Заголовок файла
Скриншот №5 — Заголовок файла

В поле content-type по стандарту MIME файл классифицирован, как pdf. В следующем поле, last-modified указана последняя дата изменения и в поле content-length размер тела документа.

Продолжение прерванного скачивания

Допустим, мы начали загрузку файла после чего случайно ее отменили. Если в заголовках ответа от сервера присутствует строка Accept-Ranges: bytes, соответственно, мы можем воспользоваться функцией продолжения прерванного скачивания. Для этого к обычному списку опций при загрузке -Lko необходимо дописать параметр , который позволит продолжить загрузку:

Продолжить загрузку
Скриншот №6 — Продолжение загрузки

После чего файл будет сохранен в директорию, в которой сейчас находится пользователь.

Как изменить User-Agent или другой заголовок?

В процессе работы с веб-сервером может понадобиться имплементация кастомных заголовков. Для такого в curl существует опция -H, которая позволит добавить заголовок с значением:

curl -LkvH "x-os-client: MacOS" <URL>
Заголовок ОС
Скриншот №7 — Заголовок ОС

Для аналогичной кастомизации User-Agent поля существует отдельная опция -A. Ее необходимо указать с новым значением агента, к примеру, команда может выглядеть так:

curl -LkvA "MacOS" <URL>
Изменить агент в запросе
Скриншот №8 — Изменить агент в запросе

Использование CURL облегчает выполнение различных сетевых операций и предоставляет пользователю гибкость и контроль при взаимодействии с серверами. Благодаря ее возможностям, пользователи могут эффективно выполнять разнообразные задачи, связанные с обменом данными.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
100029 Ташкент Улица Якка Чинар, дом 2/1
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...