Одними из самых часто используемых утилит при администрировании серверов Linux являются cURL и WGET. Давайте разберемся с тем, для чего они нужны и какая между ними разница. Напоминаю, что другие материалы по теории и практике Linux для новичков в системном администрировании вы можете найти по ссылке ниже.
Что такое cURL и WGET?
Это утилиты командной строки, которые используются при обращении к удаленным веб-серверам. Обе они поддерживают стандартные сетевые протоколы (HTTP, HTTPS, FTP, FTPS), загружают файлы из Интернета, поддерживают файлы cookie HTTP, вывод в файл и HTTP POST. Казалось бы, зачем в Linux две одинаковые утилиты, неужели не хватит какой-то одной?
Разница между cURL и WGET
Основное различие между двумя утилитами состоит в том, как сохраняется вывод содержимого при запросе к серверу. Давайте попробуем утилиты на практике и сразу станет понятно это различие. Осуществим с их помощью запрос к главному сайту дистрибутива Archlinux.
curl https://archlinux.org/
Как видим в «выхлопе» отображается html-код страницы главного сайта. Теперь используем WGET:
wget https://archlinux.org/
Прежний «выхлоп» не отобразился, но произошло скачивание файла index.html, который являлся копией главной страницей Archlinux.
В этом и состоит ключевое отличие между двумя утилитами - cURL не сохраняет вывод содержимого с запрошенного сервера, в отличие от WGET, который помещает «выхлоп» в файл, размещенный в той директории, из которой осуществлялся запрос. Можно ли сделать так, чтобы cURL сохранил вывод в файле? Да, если использовать ключ -o и указать имя файла.
curl -o index-curl.html https://archlinux.org/
Выявленное различие определяет сценарии использования cURL и WGET: первый используется для отправки запросов к веб-серверам и получении ответа от них, второй используется для скачивания файлов по сети. Данные сценарии не закреплены жестко и никто не мешает вам использовать cURL для того, чтобы скачать файл на сервер. Но вот обработать ответ от сервера, как это делает cURL, при помощи WGET уже будет нельзя. Поэтому проще использовать каждый инструмент для того, к чему он лучше приспособлен.
Подведем небольшой итог
Обе рассмотренные выше утилиты решают конкретные задачи при обращении к ним. WGET идеально подходит для того, чтобы скачивать файлы, cURL станет вашим выбором, если нужно отправить какой-либо запрос на сервер или обработать ответ от него. И если с первым инструментом относительно все понятно, то вот насчет cURL есть еще чего рассказать и показать. Поэтому про данную утилиту мы еще поговорим в последующих заметках на канале.
Чтобы не пропустить новые посты подпишитесь на канал и его обновления в Телеграме. Проявляйте активность (комментируйте, ставьте лайки и делаете репосты), чтобы алгоритмы Дзена рекомендовали материалы Просто Код большему числу читателей.