Как использовать команду cURL в Linux

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

Как следует из названия, cURL - это инструмент командной строки для передачи данных с помощью URL-адресов. Один из самых простых способов использования - загрузить файл через командную строку. Это обман, потому что cURL - невероятно мощный инструмент, в зависимости от того, как вы его используете. Даже если вы хорошо с ним знакомы, вы, вероятно, не используете его в полной мере.

Как использовать команду cURL в Linux - Linux

Базовая функция cURL

Одна из самых простых вещей, которые вы можете сделать с помощью cURL, - это загрузить веб-страницу или файл. Для этого просто используйте команду curl, за которой следует URL-адрес. Вот пример:

curl https://www.google.com

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

curl https://www.google.com > google.html

Следуйте заголовкам HTTP

Ваш браузер часто исправляет это за вас, но Интернет очень специфичен. Когда вы вводите URL-адрес, есть большая вероятность, что вы будете перенаправлены один или несколько раз, прежде чем достигнете места назначения.

Скажем, например, что вы пытаетесь получить доступ к сайту Dz Techs. Просто введите следующее, и вы получите уведомление о перенаправлении:

curl http://dz-techs.com

Вы можете следовать этим заголовкам HTTP-сайтов с помощью флага -L, например:

curl -L http://dz-techs.com
Как использовать команду cURL в Linux - Linux

Это не будет хорошо смотреться в Терминале, но это хороший вариант знать.

Сохранить результаты cURL в файл

Есть несколько способов сохранить содержимое URL-адреса в файл. дает вам выбор -o Укажите имя файла, используя опцию -O Имя файла в URL-адресе для его сохранения. Чтобы выбрать файл, используйте следующую опцию:

curl -o filename.html https://example.com/url

Чаще всего вам нужно будет сохранить файл с тем же именем, которое он использует на сервере. Поэтому используйте опцию -O.

curl -O https://example.com/filename.html
Как использовать команду cURL в Linux - Linux

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

Если вам нужно загрузить несколько файлов одновременно, cURL упростит это. Обычно вы хотите использовать это с опцией -O.

curl -O https://example.com/file1.html -O https://example.com/file2.html
Как использовать команду cURL в Linux - Linux

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

Продолжить скачивание приостановленного файла

Никогда не бывает весело, когда ваша загрузка застревает посреди дороги. К счастью, cURL позволяет легко возобновить загрузку без необходимости начинать заново. Синтаксис довольно странный, нужно добавить C- к вашей команде.

Допустим, вы начинаете загрузку со следующего:

curl -O https://example.com/bigfile.zip

Затем остановите его, нажав Ctrl + C. Вы можете возобновить его с помощью следующей команды:

curl -C - -O https://example.com/bigfile.zip

Использовать базовую аутентификацию HTTP

Это не сработает для каждого сайта, требующего имени пользователя и пароля, но если сервер использует базовую аутентификацию HTTP, cURL может работать с ним. Чтобы загрузить файл с использованием аутентификации по имени пользователя и паролю, вы можете использовать следующее:

curl -u username:password -O http://example.com/filename.html
Как использовать команду cURL в Linux - Linux

Это также работает с FTP-серверами, поскольку cURL поддерживает множество различных протоколов.

Заключение

С cURL можно сделать много всего. Иногда может показаться, что всех этих работ много. Если вам кажется, что cURL слишком многофункциональный и слишком неоднозначный для вас, есть более простая альтернатива: GNU wget.

В то время как cURL предоставляет вам все необходимые параметры, wget стремится предоставить вам хорошие параметры по умолчанию. Не уверены, что это то, что вам нужно?

Перейти к верхней кнопке