Aký je rozdiel medzi wget a curl?

What Is Difference Between Wget Vs Curl



Často potrebujeme sťahovať súbory zo vzdialených serverov na náš lokálny počítač. Na grafickej ploche môžeme použiť prehliadač GUI a kliknúť na tlačidlo sťahovania. Na termináli však musíme použiť nástroje vyvinuté pre terminál. Pri sťahovaní súborov z terminálu často prichádzajú štyri nástroje: zvinúť , rameno , wget a ária2 . Aj keď axel a aria2 nemusia byť dobre známe, väčšina koncových používateľov pozná curl a wget.

V tomto návode sa pozrieme na curl a wget, ako začať a čo je najdôležitejšie, rozdiely medzi nimi.







Čo je cURL?

cURL je bezplatný a otvorený zdrojový nástroj príkazového riadka, ktorý umožňuje používateľom prenášať údaje z jedného vzdialeného počítača na druhý s minimálnou alebo žiadnou interakciou s používateľom. Použitie CURL je rozšírené v zariadeniach, ako sú smerovače, tlačiarne, telefóny, tablety, prehrávače médií a ďalšie.



Podporuje sťahovanie a odosielanie pomocou protokolov, ako sú HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER a mnohých ďalších.



cURL tiež poskytuje servery proxy, obnovenie prenosov, autentifikáciu používateľov, certifikáty SSL a mnoho ďalších.





Čo je wget?

GNU Wget, bežne nazývaný wget, je bezplatný nástroj príkazového riadka na prenos súborov pomocou HTTP/HTTPS, FTP a FTPS. Poskytuje funkcie ako rekurzívne sťahovanie, riadenie šírky pásma, obnovuje prerušené prenosy, sťahovanie na pozadí, rekurzívne zrkadlové súbory a adresáre a mnoho ďalších.

Ako nainštalovať cURL a Wget?

cURL a wget sú obľúbené nástroje, ktoré sú už dostupné vo veľkých distribúciách Linuxu; Ak nemáte nainštalovaný žiadny z nástrojov, na inštaláciu použijete nasledujúce príkazy:



Debian/Ubuntu:

# nainštalovať cURL

sudo apt-get nainštalovaťzvinúť

# nainštalovať wget

sudo apt-get nainštalovať wget

Arch / Manjaro:

# nainštalovať cURL

sudopacman-Szvinúť

# nainštalovať wget

sudopacman-S wget

REHL/CentOS/Fedora:

# nainštalovať cURL

sudo mňam nainštalovaťzvinúť

sudodnfInštaláciazvinúť

# nainštalovať wget

sudo mňam nainštalovať wget

sudodnfInštalácia wget

Ako používať cURL a Wget (príklady prípadov použitia)?

Aby ste pochopili podobnosti a rozdiely medzi cURL a wget, je dobré pozrieť sa na niekoľko príkladov:

Protokoly HTTP/HTTPS:

CURL aj wget podporujú protokoly HTTP a HTTPS. Ak teda stiahneme webovú stránku, ako je linuxhint.com:

zvinutie https://linuxhint.com-alebolinuxhint.html

zvinutie https://linuxhint.com-alebolinuxhint.html

%Celkom%Prijaté%Xferd Priemerná rýchlosť Čas Čas Čas Aktuálny

Načítať Odovzdať Celková útrata Ľavá rýchlosť

100256 tis0256 tis0 0166 tis0-: -: -0: 00: 01-:-:-166 tis

Štandardne cURL vytlačí obsah webového zdroja v termináli. Na presmerovanie výstupu do súboru používame príznak -o.

Pre wget platí nasledujúce:

wgethttps://linuxhint.com

--2021-06-2005:09:Štyri, päť- https://linuxhint.com/

Riešenie linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...

Pripojenie k linuxhint.com(linuxhint.com)|104,21,58,234|:443... pripojené.

HTTP požiadavka odoslaná, čaká sa na odpoveď ...200OK

Dĺžka: nešpecifikovaná[text/html]

Ukladá sa do: „index.html“

index.html

[ <=> ]256,25 kB 506 kB/sv0,5 s

2021-06-dvadsať05:09:46 (506KB/s)- „index.html“ je uložený[262396]

Wget na druhej strane uloží požadovaný zdroj do súboru.

Je dobré poznamenať, že oba nástroje si zdroj stiahnu. Podrobnosti o dvoch súboroch zobrazujú obidve veľkosti súborov.

$ls -tenindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Júna19 pätnásť:päťdesiatindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Júnadvadsať05:07 linuxhint.html

Protokol FTP:

CURL aj wget podporujú sťahovanie do protokolov FTP. CURL však podporuje nahrávanie na ftp.

Na stiahnutie súborov zo servera FTP pomocou wget použite nasledujúci príkaz:

wget -užívateľ= debian-heslo= 'Debian' ftp://192.168.0.112/backup.zst

wget -užívateľ= debian-heslo='debian'ftp://192.168.0.112/backup.zst

--2021-06-2005:29: 06- ftp://192.168.0.112/backup.zst

=>„Backup.zst“

Pripojenie k 192.168.0.112:dvadsaťjeden... pripojené.

Prihlasovaniev akodebian ... Prihlásenýv!

==>SYST ... hotovo. ==>PWD ... hotovo.

==>TYP I ... hotovo. ==>CWD nie je potrebný.

==>SIZE backup.zst ... hotovo.

==>PASV ... hotovo. ==>RETR backup.zst ... hotovo.

backup.zst

[ <=> ] 0--.- KB/sv0 s

2021-06-dvadsať05:29: 06(0,00B/s)- „backup.zst“ je uložený[0]

Pomocou zvlnenia pridajte-uoznačiť ako:

zvinúť-udebian: debian 'ftp://192.168.0.112/backup.zst '-alebobackup.zst

zvinúť-udebian: debian'ftp://192.168.0.112/backup.zst' -alebobackup.zst

%Celkom%Prijaté%Xferd Priemerná rýchlosť Čas Čas Čas Aktuálny

Načítať Odovzdať Celková útrata Ľavá rýchlosť

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

Ak chcete nahrať asúbordoftpso zvlnením používame-Tmožnosť ako:

zvinúť-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/

Zaistite, aby adresár existoval a aby naň mal používateľ povolenia na zápis.

POZNÁMKA: Hoci cURL podporuje širokú škálu protokolov, neposkytuje rekurzívne sťahovanie. Na druhej strane, Wget podporuje rekurzívne sťahovanie pomocou možnosti –recursive, ako to ponúkajú protokoly HTTP/HTTPS a FTP/FTPS.

Podobnosti medzi wget a cURL

Teraz k čerešničke na torte:

  • Oba nástroje podporujú štandardné protokoly ako HTTP, HTTPS, FTP, FTPS.
  • Oba nástroje sťahujú súbory z internetu.
  • Oba nástroje podporujú súbory cookie HTTP.
  • Oba nástroje podporujú výstup do súboru.
  • Voľne aj aktívne vyvíjané nástroje.
  • Oba nástroje podporujú obnovenie prenosov.
  • Oba nástroje podporujú HTTP POST.

Rozdiely medzi wget a cURL

Tu sú niektoré rozdiely medzi zvlnením a wgetom:

  • Wget je jednoduchý nástroj na prenos, zatiaľ čo curl ponúka oveľa viac.
  • Curl poskytuje knižnicu libcurl, ktorú je možné rozšíriť do aplikácií GUI. Wget je na druhej strane jednoduchý nástroj príkazového riadka.
  • Wget podporuje menej protokolov v porovnaní s cURL.
  • Rekurzívne sťahovanie nie je v curl podporované.
  • Wget je natívne dostupný v systémoch Linux, zatiaľ čo cURL je ľahko dostupný v systémoch Windows.
  • cURL podporuje viac paralelných prenosov.
  • cURL vykonáva dekompresie HTTP kódované prenosom, zatiaľ čo wget nie.
  • cURL podporuje obojsmerný HTTP, zatiaľ čo wget ponúka obyčajný HTTP POST.
  • cURL podporuje viac spôsobov autentifikácie HTTP v porovnaní s wgetom.
  • Wget nepodporuje SOCKS.
  • Wget vyžaduje nainštalovaný gnulib.
  • Na rozdiel od curl sú funkcie ako cookies, časové pečiatky a presmerovania sledovania v programe wget predvolene povolené. cURL vyžaduje, aby bol každý výslovne špecifikovaný.

Záver

Tento tutoriál sa zameral na podobnosti a rozdiely medzi cURL. Aj keď sa môže zdať, že cURL je vynikajúcou voľbou, existujú prípady, keď je wget najlepšou voľbou.

Moja rada je, aby ste si vybrali, čo vám vyhovuje.