Использование cURL для загрузки удаленных файлов из командной строки

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

Искусственный интеллект поможет тебе заработать!

Подписывайся на канал "Виртуальный Каппер" и получай точные и бесплатные прогнозы на спорт от искусственного интеллекта.

Мощный инструмент командной строки curl можно использовать для загрузки файлов практически с любого удаленного сервера. Давние пользователи командной строки знают, что это может быть полезно для самых разных ситуаций, но для простоты многие обнаружат, что загрузка файла с помощью curl часто может быть более быстрой альтернативой использованию веб-браузера или FTP-клиента со стороны графического интерфейса пользователя. Mac OS X (или Linux). Это полезно для локальных ситуаций, но имеет особую ценность, если вы находитесь в ситуации, когда вам нужно что-то загрузить на удаленный Mac при подключении через SSH.

В этом пошаговом руководстве мы сосредоточимся в первую очередь на загрузке файлов из двух часто встречающихся протоколов HTTP и SFTP, хотя следует отметить, что cURL поддерживает гораздо больше протоколов. Хотя curl прост в использовании, рекомендуется иметь некоторое представление о командной строке.

Загрузите файлы с точным соответствием с помощью curl -O

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Использование флага -O в верхнем регистре с curl загружает файл с удаленного сервера, сохраняя при этом точное имя файла, основной синтаксис для этого следующий:

curl -O [url]

Это означает, что если указанный URL-файл назван «sample.zip», он будет загружен с именем «sample.zip», а если файл назван чем-то огромным и сложным, например, «LongExampleFileNameForOSXDaily-v-1-3-51-revision-» 515b12-readme.txt »на удаленном сервере, он будет сохранен с тем же именем на локальном компьютере. Более длинные имена файлов часто лучше обрабатывать с помощью флага -o, а не -O, который мы вскоре рассмотрим.

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

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

Скачивание файла с помощью curl

Снимок экрана лучше, чем вставленный ниже пример, но выглядит примерно так:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 10505 100 10505 0 0 79741 0 --:--:-- --:--:-- --:--:-- 142k

При отображении скорости передачи вы можете перенаправить вывод curl в / dev / null и использовать его для проверки скорости интернет-соединения, но команда wget имеет более легкую для чтения панель передачи и следование ей, поэтому wget лучше подходит для этой задачи.

Сохранение удаленного файла под другим именем с помощью curl -o

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

curl -o [shortname] [url]

Например, если вы хотите сохранить файл iOS IPSW, который вы нашли в списке на серверах Apple, без длинного полного имени, вы можете использовать следующее:

curl -o iPhone5C-704.ipsw http://appldnld.apple.com/iOS7/031-1828.20131114.P3wE4/iPhone5,3_7.0.4_11B554a_Restore.ipsw

Будет загружен файл «iPhone5,3_7.0.4_11B554a_Restore.ipsw», но он будет назван короче, чем более значимый «iPhone5C-704.ipsw».

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

curl -o ~/Desktop/localexample.dmg http://url-to-file/example.dmg

Загрузка нескольких файлов одновременно с curl

cURL может легко загружать несколько файлов одновременно, все, что вам нужно сделать, это указать более одного URL-адреса, например:

curl -O [URL 1] [URL 2] [URL 3]

Для файлов с разными именами, размещенных на разных серверах или в разных путях каталогов используйте полный URL-адрес, например:

curl -O http://ftp.gnu.org/gnu/Licenses/fdl-1.1.txt http://ftp.gnu.org/gnu/Licenses/lgpl-2.1.txt http://ftp.gnu.org/gnu/GNUinfo/Audio/index.txt

С другой стороны, если имена файлов, которые должны быть загружены, используют инкрементное именование, вы можете использовать скобки для указания диапазона загрузки, например:

curl -O http://ftp.gnu.org/gnu/Licenses/fd1-1[1-3].txt

Это приведет к одновременному захвату файлов fdl-1.1.txt, fd1-1.2.txt и fd1-1.3.txt без необходимости указывать каждый уникальный URL. Конечно, это работает только в том случае, если файлы находятся вместе в одном каталоге и в одном домене.

Аутентификация с помощью curl

Вы также можете пройти аутентификацию с помощью cURL, используя флаг -u:

curl -u user:pass -O ftp://remote_url/file-to-download.zip

Имейте в виду, что история bash сохранит пароль в виде обычного текста при использовании -u с указанным именем пользователя и паролем, поэтому в большинстве ситуаций это не рекомендуется. Вы можете обойти это, разместив пробел перед словом «curl». Если вы не используете пробел в качестве префикса команды, вы, вероятно, захотите впоследствии очистить историю команд, чтобы быть в безопасности.

Поддерживаемые протоколы curl и их использование помимо HTTP и FTP

Как упоминалось ранее, использование cURL выходит далеко за рамки HTTP и FTP, поскольку запись на странице руководства curl упоминает в описании дополнительные протоколы:

curl – это инструмент для передачи данных с сервера или на сервер с использованием одного из
поддерживаемые протоколы (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP,
IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS,
TELNET и TFTP).

Кроме того, вы обнаружите, что curl также может использоваться для запросов PUT и POST, файлов cookie, прокси, туннелей, возобновления загрузок и даже для получения информации из заголовка HTTP или изменения пользовательского агента (эффективная подмена) без необходимости использования выделенного веб-сайта. браузер.

Как и большинство утилит командной строки, вы можете узнать больше о curl, вызвав соответствующую справочную страницу с помощью команды ‘man curl’.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

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