В этом уроке мы рассмотрим curl и wget, с чего начать, и, самое главное, различия между ними.
Что такое cURL?
cURL - это бесплатная утилита командной строки с открытым исходным кодом, которая позволяет пользователям передавать данные с одного удаленного компьютера на другой с минимальным вмешательством пользователя или без него. CURL широко используется в таких устройствах, как маршрутизаторы, принтеры, телефоны, планшеты, медиаплееры и т. Д.
Он поддерживает загрузку и выгрузку с использованием таких протоколов, как HTTP / HTTPS, FTP, SFTP, SCP, IMAP, LDAP / LDAPS, SMB / SMBS, TELNET, POP3, GOPHER и многие, многие другие.
cURL также предоставляет прокси, возобновление передачи, аутентификацию пользователей, сертификаты SSL и многое другое.
Что такое wget?
GNU Wget, обычно называемый wget, - это бесплатная утилита командной строки для передачи файлов с использованием HTTP / HTTPS, FTP и FTPS. Он предоставляет такие функции, как рекурсивные загрузки, управление пропускной способностью, возобновление прерванных передач, фоновые загрузки, рекурсивные зеркальные файлы и каталоги и многое другое.
Как установить cURL и Wget?
cURL и wget - популярные инструменты, легко доступные в основных дистрибутивах Linux; если у вас не установлен какой-либо инструмент, используйте следующие команды для установки:
Debian / Ubuntu:
# установить cURLсудо apt-get installзавиток
# установить wget
судо apt-get install wget
Арка / Манджаро:
# установить cURLсудоПакман-Sзавиток
# установить wget
судоПакман-S wget
REHL / CentOS / Fedora:
# установить cURLсудо ням установитьзавиток
судоdnfустановитьзавиток
# установить wget
судо ням установить wget
судоdnfустановить wget
Как использовать cURL и Wget (примеры использования)?
Чтобы убедиться, что вы понимаете сходства и различия между cURL и wget, полезно взглянуть на несколько примеров:
Протоколы HTTP / HTTPS:
И cURL, и wget поддерживают протоколы HTTP и HTTPS. Следовательно, если мы загрузим такой веб-сайт, как linuxhint.com:
завиток https://linuxhint.com-илиlinuxhint.htmlзавиток https://linuxhint.com-илиlinuxhint.html
%Общий%Полученный%Xferd Средняя скорость Время Время Время Ток
Выгрузка Всего израсходовано Оставшаяся скорость
100256 КБ0256 КБ0 0166 тыс.0-: -: -0: 00: 01 -: -: - 166к
По умолчанию cURL будет печатать содержимое веб-ресурса в терминале. Мы используем флаг -o, чтобы перенаправить вывод в файл.
К wget применимо следующее:
wgethttps://linuxhint.com--2021-06-2005:09:Четыре пять- https://linuxhint.com/
Решение linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...
Подключение к linuxhint.com(linuxhint.com)|104.21.58.234|:443... связаны.
HTTP-запрос отправлен, ожидает ответа ...200Ok
Длина: не указана[текст/html]
Сохранение в: «index.html»
index.html
[ <знак равно> ]256,25 КБ 506 КБ/sв0,5 с
2021 г.-06-двадцать05:09:46 (506КБ/s)- 'index.html' сохранен[262396]
Wget, с другой стороны, сохраняет запрошенный ресурс в файл.
Приятно отметить, что оба инструмента загружают ресурс. Подробности ls двух файлов показывают оба размера файлов.
$ls -index.html linuxhint.html-rw-rw-r-- 1linuxhint linuxhint262396Июн19 пятнадцать:пятьдесятindex.html
-rw-rw-r-- 1linuxhint linuxhint262396Июндвадцать05:07 linuxhint.html
Протокол FTP:
И cURL, и wget поддерживают загрузку по протоколам FTP. Однако cURL поддерживает загрузку на ftp.
Используйте команду ниже для загрузки файлов с FTP-сервера с помощью wget:
wget --Пользователь= debian--пароль= ’Debian’ ftp://192.168.0.112/backup.zstwget --Пользователь= debian--парользнак равно'дебиан'ftp://192.168.0.112/backup.zst
--2021-06-2005:29: 06 - ftp://192.168.0.112/backup.zst
знак равно>‘Backup.zst’
Подключение к 192.168.0.112:21... связаны.
логированиев в качествеdebian ... Зарегистрированв!
==>СИСТЕМА ... готово. ==>PWD ... готово.
==>ТИП I ... готово. ==>CWD не нужен.
==>РАЗМЕР backup.zst ... готово.
==>ПАСВ ... готово. ==>RETR backup.zst ... готово.
backup.zst
[ <знак равно> ] 0--.- КБ/sв0 с
2021 г.-06-двадцать05:29: 06(0,00B/s)- 'backup.zst' сохранен[0]
Используя curl, добавьте-uпометить как:
завиток-udebian: debian ‘ftp://192.168.0.112/backup.zst ’-илиbackup.zst
завиток-udebian: debian'ftp://192.168.0.112/backup.zst' -илиbackup.zst
%Общий%Полученный%Xferd Средняя скорость Время Время Время Ток
Выгрузка Всего израсходовано Оставшаяся скорость
0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0
Чтобы загрузитьфайлкftpс curl мы используем-Tвариант как:
завиток-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/
Убедитесь, что каталог существует и у пользователя есть права на запись в него.
ЗАМЕТКА: Хотя cURL поддерживает широкий спектр протоколов, он не обеспечивает рекурсивную загрузку. С другой стороны, Wget поддерживает рекурсивные загрузки с использованием параметра –recursive, поскольку протоколы HTTP / HTTPS и FTP / FTPS предлагают такую функциональность.
Сходства между wget и cURL
А теперь глазурь на торте:
- Оба инструмента поддерживают стандартные протоколы, такие как HTTP, HTTPS, FTP, FTPS.
- Оба инструмента загружают файлы из Интернета.
- Оба инструмента поддерживают файлы cookie HTTP.
- Оба инструмента поддерживают вывод в файл.
- Как бесплатные, так и активно разрабатываемые инструменты.
- Оба инструмента поддерживают переводы резюме.
- Оба инструмента поддерживают HTTP POST.
Различия между wget и cURL
Вот некоторые различия между curl и wget:
- Wget - это простая утилита для передачи, а curl предлагает гораздо больше.
- Curl предоставляет библиотеку libcurl, которую можно расширить до приложений с графическим интерфейсом. С другой стороны, Wget - это простая утилита командной строки.
- Wget поддерживает меньше протоколов по сравнению с cURL.
- Рекурсивные загрузки не поддерживаются в curl.
- Wget изначально доступен в системах Linux, а cURL легко доступен в системах Windows.
- cURL поддерживает множественные параллельные передачи.
- cURL выполняет декомпрессию HTTP с кодировкой передачи, а wget - нет.
- cURL поддерживает двунаправленный HTTP, в то время как wget предлагает простой HTTP POST.
- cURL поддерживает больше методов аутентификации HTTP по сравнению с wget.
- Wget не поддерживает SOCKS.
- Wget требует установленного гнулиба.
- В отличие от curl, в wget по умолчанию включены такие функции, как файлы cookie, отметки времени и последующие перенаправления. cURL требует, чтобы каждый из них был указан явно.
Заключение
В этом руководстве основное внимание уделяется сходству и различию между cURL. Хотя может показаться, что cURL - лучший выбор, есть случаи, когда wget - лучший выбор.
Мой вам совет - выберите то, что вам подходит.