В чем разница между wget и curl?

What Is Difference Between Wget Vs Curl



Нам часто нужно загружать файлы с удаленных серверов на наш локальный компьютер. На графическом рабочем столе мы можем использовать браузер с графическим интерфейсом пользователя и нажать кнопку загрузки. Однако на терминале нам нужно использовать инструменты, разработанные для терминала. При загрузке файлов с терминала часто появляются четыре инструмента: завиток , плечо , wget , а также ария2 . Хотя axel и aria2 могут быть не очень хорошо известны, большинство пользователей терминалов знают curl и wget.

В этом уроке мы рассмотрим 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.zst

wget --Пользователь= 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 - лучший выбор.

Мой вам совет - выберите то, что вам подходит.