Независимо от того, для чего вы используете свой компьютер, вероятно, был по крайней мере один случай, когда вам нужно было что-то загрузить, и открытие браузера казалось излишним. Это было бы отличным вариантом использования cURL.
Как следует из названия, cURL - это инструмент командной строки для передачи данных с помощью URL-адресов. Один из самых простых способов использования - загрузить файл через командную строку. Однако это обман, поскольку cURL - невероятно мощный инструмент, в зависимости от того, как вы его используете. Даже если вы немного знакомы с этой командой, вы, вероятно, не используете ее в полной мере.
Базовая функциональность cURL
Одна из самых простых вещей, которые вы можете сделать с помощью cURL, - это загрузить веб-страницу или файл. Для этого достаточно использовать команду curl
, за которой следует URL-адрес. Вот пример:
curl https: // www.google.com
В большинстве случаев, используя команду таким образом, вы получите терминал, в лучшем случае полный необработанного HTML, а в худшем - множество неузнаваемых символов. Если вы предпочитаете сохранить его в файл, вы можете использовать для этого стандартные перенаправления в стиле Unix.
curl https: // www.google.com > google.html
Следуйте заголовкам HTTP
Ваш браузер часто исправляет это за вас, но Интернет очень специфичен. Когда вы вводите URL-адрес, велика вероятность того, что вас перенаправят один или несколько раз, прежде чем вы достигнете места назначения.
Скажем, например, вы пытаетесь перейти на веб-сайт Techberg. Набрав следующее, вы просто получите уведомление о перенаправлении:
curl https: // techberg.ru
Вы можете следить за этими заголовками местоположения HTTP, используя флаг -L
следующим образом:
curl - L https: // techberg.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.
Хотя cURL предоставляет вам все возможные варианты, wget стремится предоставить вам хорошие варианты по умолчанию. Не уверены, что это именно то, что вам нужно? Не волнуйтесь, у нас есть подробное сравнение cURL и wget, которое поможет вам понять, какой из них вам подходит.