Каква е разликата между wget срещу curl?

What Is Difference Between Wget Vs Curl



Често се налага да изтегляме файлове от отдалечени сървъри на нашата локална машина. На графичен работен плот можем да използваме GUI браузър и да кликнете върху бутона за изтегляне. На терминала обаче трябва да използваме инструменти, разработени за терминала. При изтегляне на файлове от терминала често се появяват четири инструмента: къдрица , рамо , wget , и aria2 . Докато 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

sudo apt-get installкъдрица

# инсталирайте wget

sudo apt-get install wget

Арка / Манджаро:

# инсталирайте cURL

sudoпак Манкъдрица

# инсталирайте wget

sudoпак Ман wget

REHL/CentOS/Fedora:

# инсталирайте cURL

sudo yum инсталирайтекъдрица

sudodnfИнсталирайкъдрица

# инсталирайте wget

sudo yum инсталирайте wget

sudodnfИнсталирай wget

Как да използваме cURL и Wget (примерни случаи на използване)?

За да сте сигурни, че разбирате приликите и разликите между cURL и wget, добре е да разгледате няколко примера:

HTTP/HTTPS протоколи:

Както cURL, така и wget поддържат HTTP и HTTPS протоколи. Следователно, ако изтеглим уебсайт като linuxhint.com:

навийте https://linuxhint.com-илиlinuxhint.html

навийте https://linuxhint.com-илиlinuxhint.html

%Обща сума%Получено%Xferd Средна скорост Време Време Време Ток

Dload Качване на обща изразходвана лява скорост

100256 хиляди0256 хиляди0 0166 хил0-: -: -0: 00: 01-:-:-166k

По подразбиране 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 заявката е изпратена, чака се отговор ...200Добре

Дължина: неуточнена[текст/html]

Запазване в: „index.html“

index.html

[ <=> ]256.25K 506KB/св0,5 сек

2021 г.-06-двайсет05:09:46 (506KB/с)- „index.html“ е запазен[262396]

Wget, от друга страна, записва искания ресурс във файл.

Добре е да се отбележи, че и двата инструмента изтеглят ресурса. Подробностите за двата файла показват двата размера на файла.

$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-парола='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:двадесет и едно... свързан.

Дневникв катоdebian ... Регистриранв!

==>SYST ... готово. ==>PWD ... свършено.

==>ТИП I ... готово. ==>CWD не е необходим.

==>SIZE backup.zst ... готово.

==>PASV ... готово. ==>RETR backup.zst ... готово.

backup.zst

[ <=> ] 0--.- KB/св0s

2021 г.-06-двайсет05:29: 06(0,00Б/с)- „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 Средна скорост Време Време Време Ток

Dload Качване на обща изразходвана лява скорост

0 0 0 0 0 0 0 0-: -: - -:: -: - -: -: -0

За да качите aфайлда се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.
  • И двата инструмента изтеглят файлове от интернет.
  • И двата инструмента поддържат HTTP бисквитки.
  • И двата инструмента поддържат изход към файл.
  • Както безплатни, така и активно разработени инструменти.
  • И двата инструмента поддържат прехвърляне на резюме.
  • И двата инструмента поддържат HTTP POST.

Разлики между wget и cURL

Ето някои от разликите между curl и wget:

  • Wget е проста програма за прехвърляне, докато curl предлага много повече.
  • Curl предоставя библиотеката libcurl, която може да бъде разширена в GUI приложения. Wget, от друга страна, е проста помощна програма за командния ред.
  • Wget поддържа по -малко протоколи в сравнение с cURL.
  • Рекурсивното изтегляне не се поддържа в curl.
  • Wget е първоначално наличен в Linux системи, докато cURL е лесно достъпен в Windows системи.
  • cURL поддържа множество паралелни трансфери.
  • cURL извършва декомпресиране на HTTP, кодирани с трансфер, докато wget не.
  • cURL поддържа двупосочен HTTP, докато wget предлага обикновен HTTP POST.
  • cURL поддържа повече HTTP методи за удостоверяване в сравнение с wget.
  • Wget не поддържа SOCKS.
  • Wget изисква инсталиран gnulib.
  • За разлика от curl, функции като „бисквитки“, времеви марки и пренасочвания за следване са активирани по подразбиране в wget. cURL изисква всеки да бъде посочен изрично.

Заключение

Този урок се фокусира върху приликите и разликите между cURL. Въпреки че може да изглежда, че cURL е най -добрият избор, има случаи, когато wget е най -добрият избор.

Моят съвет към вас е да изберете това, което работи за вас.