Независимо от того, для чего вы используете свой компьютер, вероятно, был хотя бы один случай, когда вам нужно было что-то скачать, и открытие браузера казалось излишним.
Это было бы отличным вариантом использования для cURL.
Как следует из названия, cURL – это инструмент командной строки для передачи данных с URL-адресами.
Одним из самых простых способов является загрузка файла через командную строку.
Однако это обманчиво, поскольку cURL – невероятно мощный инструмент в зависимости от того, как вы его используете.
Даже если вы немного знакомы с этой командой, вы, вероятно, не используете ее в полной мере.
Основная функциональность cURL
Одна из самых простых вещей, которые вы можете сделать с помощью cURL, – это загрузить веб-страницу или файл.
Для этого вы просто вводите команду curl, за которой следует URL.
Вот например:
curl https://www.google.com
В большинстве случаев, используя команду таким образом, вы получите в лучшем случае терминал, полный необработанного HTML, а в худшем – кучу нераспознаваемых символов.
Если вы предпочитаете сохранить вывод в файл, вы можете использовать для этого стандартные перенаправления в стиле Unix.
curl https://www.google.com > google.html
Заголовки HTTP
Ваш браузер часто исправляет их для вас, но Интернет очень специфичен.
Когда вы вводите URL, есть большая вероятность, что вы будете перенаправлены один или несколько раз, прежде чем достигнете своего пункта назначения.
Скажем, например, что вы пытаетесь зайти на сайт IT IS GOOD.
Введя следующее, вы получите уведомление о перенаправлении:
curl https://itisgood.ru
Вы можете следить за этими заголовками HTTP-местоположения, используя флаг -L следующим образом:
curl -L https://itisgood.ru
Сохранить результаты cURL в файл
Есть несколько способов сохранить содержимое URL в файл.
Опция -o позволяет вам выбрать имя файла, а опция -O использует имя файла в URL для сохранения.
Чтобы выбрать свой собственный файл, используйте следующую опцию:
curl -o filename.html https://example.com/url
Чаще всего вы захотите сохранить файл под тем же именем, которое он использует на сервере.
Для этого используйте опцию -O.
curl -O https://example.com/filename.html
Скачать несколько файлов одновременно
Если вам нужно загрузить несколько файлов одновременно, cURL сделает это легко.
Вы можете использовать команду с опцией -O.
curl -O https://example.com/file1.html -O https://example.com/file2.html
При такой загрузке 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
Это также работает с FTP-серверами, так как cURL поддерживает множество различных протоколов.
Заключение
С cURL вы можете многое сделать.
Иногда вся эта функциональность может показаться слишком большой.
Если cURL кажется вам слишком многофункциональным и загадочным, есть более простая альтернатива: GNU wget.
- Как загрузить файлы в конкретный каталог с помощью Wget
- Как ограничить скорость загрузки файлов с помощью Wget в Linux
- ? Лучшие ускорители загрузки для командной строки для Linux
См. также