Как использовать CURL для загрузки файла

How Use Curl Download File

Curl - популярный инструмент командной строки, используемый для загрузки файлов из Интернета. Это легкий инструмент, доступный в любой системе UNIX. Curl поддерживает широкий спектр протоколов, например HTTP, HTTPS, FTP, FTPS, SFTP и т. Д. Если протокол не указан, curl по умолчанию использует HTTP. Функции curl взяты из libcurl.

Curl начал свой путь еще в середине 1990-х, когда Интернет был еще в новинку. Даниэль Стенберг, шведский программист, начал проект, который в итоге превратился в curl. Он стремился разработать бота, который будет периодически загружать курсы обмена валют с веб-страницы и предоставлять пользователям IRC эквиваленты шведских крон в долларах США. Проект был успешным, и, таким образом, родился curl.



Со временем curl был усовершенствован за счет добавления новых интернет-протоколов и функций. В этом руководстве вы узнаете, как использовать curl для загрузки файла.



Установка curl

Сегодня вы найдете curl предустановленным в большинстве дистрибутивов Linux. Curl - довольно популярный пакет, доступный для любого дистрибутива Linux. Однако нет гарантии, что curl уже установлен в вашем дистрибутиве.



Выполните команду в соответствии с типом вашего дистрибутива, чтобы установить curl в вашей системе.

Чтобы установить curl в Debian / Ubuntu и производных, введите следующее:

$судоподходящийустановитьзавиток



Чтобы установить curl на RHEL, CentOS, Fedora и производные, введите следующее:

$судо ням установитьзавиток

Чтобы установить curl на OpenSUSE и производные, введите следующее:

$судомолнияустановитьзавиток

Чтобы установить curl в Arch Linux и производных, введите следующее:

$судоПакман-Егозавиток

Curl - это программное обеспечение с открытым исходным кодом. Вы можете взять исходный код curl и скомпилировать его вручную. Однако этот процесс более сложен, и его следует избегать, если вы собираетесь использовать curl не только для тестирования или распространения / упаковки.

Следующий процесс был продемонстрирован в Ubuntu. Подробное руководство по составлению curl можно найти в официальная документация по curl .

Загрузите исходный код curl здесь. Я взял последнюю версию исходного кода curl. На момент написания этой статьи последней версией была curl v7.72.0.

$wgethttps://curl.haxx.se/скачать/curl-7.72.0.tar.xz

Распакуйте архив.

$деготь -xvfcurl-7.72.0.tar.xz

Запустите сценарий конфигурации.

$./настроить

Запустите процесс компиляции.

$делать-j $(nproc)

Наконец, установите программу curl, которую мы только что скомпилировали.

$судо делать установить

Использование curl

Чтобы продемонстрировать использование программы curl, сначала нам нужно загрузить фиктивный файл. Для этого подойдет любой онлайн-файл, если у вас есть прямая ссылка для скачивания. В этом руководстве я буду использовать небольшой файл, предоставленный Think Broadband .

Версия завитка

Проверьте версию curl, введя следующее:

$завиток--версия

Скачать файл с помощью curl

Это очень простой способ использования curl. Мы загрузим фиктивный файл. Здесь флаг -O указывает curl загрузить и сохранить файл в текущем каталоге.

$завиток-ИЛИhttp://ipv4.download.thinkbroadband.com/10MB.zip

Чтобы загрузить и сохранить файл под другим именем, используйте флаг -o. С этим флагом файл будет загружен и сохранен в текущем рабочем каталоге.

$завиток-илиdemo.file http://ipv4.download.thinkbroadband.com/10MB.zip

Скачать несколько файлов

Нужно скачать несколько файлов? Следуйте структуре команд, показанной ниже. При необходимости используйте -o или -O.

$завиток-ИЛИ <url_ file_1> -ИЛИ <url_file_2>

Индикатор

По умолчанию curl не показывает индикатор выполнения. Чтобы включить индикатор выполнения, используйте флаг - #.

$локон -# -O http://ipv4.download.thinkbroadband.com/10MB.zip

Бесшумный режим

Если вы хотите, чтобы curl не печатал ничего, используйте флаг –silent.

$завиток--тихий -ИЛИhttp://ipv4.download.thinkbroadband.com/10MB.zip

Ограничение скорости

Curl позволяет ограничить скорость загрузки. Для этого используйте флаг –limit-rate, за которым следует ограничение пропускной способности. Здесь скорость загрузки ограничена 1 МБ.

$завиток--limit-rate1 мес.-ИЛИhttp://ipv4.download.thinkbroadband.com/10MB.zip

Управление FTP-сервером

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

$завиток-u <имя пользователя>:<пароль>ftp://exmaple.com/

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

$завиток-u <имя пользователя>:<пароль>ftp://exmaple.com/<файл>

Чтобы загрузить файл на FTP-сервер, используйте следующую структуру команд:

$завиток-T <file_to_upload> -u <имя пользователя>:<пароль>ftp://exmaple.com/

Пользовательский агент

В определенных ситуациях URL-адрес, к которому вы пытаетесь получить доступ, может быть заблокирован из-за отсутствия надлежащего пользовательского агента. Curl позволяет вам определять пользовательский агент вручную. Для этого используйте флаг -A, за которым следует пользовательский агент. Что касается пользовательского агента, вы можете использовать Рандомайзер пользовательских агентов . Если вам нужен собственный пользовательский агент, вы можете найти его в WhatIsMyBrowser .

$завиток '' -ИЛИhttp://ipv4.download.thinkbroadband.com/10MB.zip

Последние мысли

Несмотря на то, что это простой и легкий инструмент, curl предлагает множество функций. По сравнению с другими менеджерами загрузки из командной строки, такими как wget, curl предлагает более сложный способ обработки загрузки файлов.

Для получения более подробной информации я всегда рекомендую проверить справочную страницу curl, которую вы можете открыть с помощью следующей команды:

$человекзавиток

Ознакомьтесь с некоторыми из лучших менеджеров загрузки для Linux здесь.

Удачных вычислений!