Care este diferența dintre wget vs curl?

What Is Difference Between Wget Vs Curl



De multe ori trebuie să descărcăm fișiere de pe servere la distanță pe mașina noastră locală. Pe un desktop grafic, putem folosi un browser GUI și putem face clic pe butonul de descărcare. Cu toate acestea, pe un terminal, trebuie să folosim instrumente dezvoltate pentru terminal. Când descărcăm fișiere de pe terminal, apar adesea patru instrumente: răsuci , umăr , wget , și aria2 . Deși axel și aria2 pot să nu fie bine cunoscuți, majoritatea utilizatorilor de terminal știu curl și wget.

În acest tutorial, ne vom uita la curl și wget, cum să începem și, cel mai important, diferențele dintre ele.







Ce este CURL?

cURL este un utilitar de linie de comandă gratuit și open-source care permite utilizatorilor să transfere date de la o mașină la distanță la alta cu o interacțiune minimă sau deloc a utilizatorului. Utilizarea CURL este predominantă pe dispozitive precum routere, imprimante, telefoane, tablete, playere media și multe altele.



Acceptă descărcarea și încărcarea utilizând protocoale precum HTTP / HTTPS, FTP, SFTP, SCP, IMAP, LDAP / LDAPS, SMB / SMBS, TELNET, POP3, GOPHER și multe altele.



cURL oferă, de asemenea, proxy, reluarea transferurilor, autentificarea utilizatorului, certificate SSL și multe altele.





Ce este wget?

GNU Wget, denumit în mod obișnuit wget, este un utilitar de linie de comandă gratuit pentru transferul de fișiere folosind HTTP / HTTPS, FTP și FTPS. Oferă funcții precum descărcări recursive, controlul lățimii de bandă, reluarea transferurilor anulate, descărcări de fundal, fișiere și directoare oglindă recursive și multe altele.

Cum se instalează cURL și Wget?

cURL și wget sunt instrumente populare disponibile în distribuțiile Linux majore; dacă nu aveți niciun instrument instalat, utilizați comenzile de mai jos pentru a instala:



Debian / Ubuntu:

# instalați CURL

sudo apt-get installrăsuci

# instalează wget

sudo apt-get install wget

Arch / Manjaro:

# instalați CURL

sudopacman-Srăsuci

# instalează wget

sudopacman-S wget

REHL / CentOS / Fedora:

# instalați CURL

sudo yum instalațirăsuci

sudodnfinstalarerăsuci

# instalează wget

sudo yum instalați wget

sudodnfinstalare wget

Cum se utilizează cURL și Wget (exemple de cazuri de utilizare)?

Pentru a vă asigura că înțelegeți asemănările și diferențele dintre cURL și wget, este bine să vă uitați la câteva exemple:

Protocoale HTTP / HTTPS:

Atât cURL, cât și wget acceptă protocoale HTTP și HTTPS. Prin urmare, dacă descărcăm un site web, cum ar fi linuxhint.com:

curl https://linuxhint.com-saulinuxhint.html

curl https://linuxhint.com-saulinuxhint.html

%Total%Primit%Xferd Viteza medie Timp Ora Timp curent

Descărcare încărcare Viteză totală stângă cheltuită

100256k0256k0 0166k0-: -: -0: 00: 01 -: -: - 166k

În mod implicit, cURL va imprima conținutul resursei web în terminal. Folosim steagul -o pentru a redirecționa ieșirea către un fișier.

Următoarele se aplică la wget:

wgethttps://linuxhint.com

--2021-06-2005:09:Patru cinci- https://linuxhint.com/

Rezolvarea linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...

Conectarea la linuxhint.com(linuxhint.com)|104.21.58.234|:443... conectat.

Cerere HTTP trimisă, în așteptarea răspunsului ...200Bine

Lungime: nespecificat[text/html]

Se salvează în: „index.html”

index.html

[ <=> ]256,25 K 506 KB/sîn0,5s

2021-06-douăzeci05:09:46 (506KB/s)- „index.html” salvat[262396]

Wget, pe de altă parte, salvează resursa solicitată într-un fișier.

Este bine să rețineți că ambele instrumente descarcă resursa. Detaliile ls ale celor două fișiere arată ambele dimensiuni ale fișierului.

$eu sunt -laindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Iunie19 cincisprezece:cincizeciindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Iuniedouăzeci05:07 linuxhint.html

Protocol FTP:

Atât cURL, cât și wget acceptă descărcări pe protocoale FTP. Cu toate acestea, cURL acceptă încărcarea pe ftp.

Utilizați comanda de mai jos pentru a descărca fișiere de pe serverul FTP cu wget:

wget --utilizator= debian--parola= 'Debian' ftp://192.168.0.112/backup.zst

wget --utilizator= debian--parola=„debian”ftp://192.168.0.112/backup.zst

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

=>„Backup.zst”

Conectarea la 192.168.0.112:douăzeci și unu... conectat.

Logareîn la fel dedebian ... Conectatîn!

==>SYST ... gata. ==>PWD ... gata.

==>TIP I ... gata. ==>CWD nu este necesar.

==>SIZE backup.zst ... gata.

==>PASV ... gata. ==>RETR backup.zst ... gata.

backup.zst

[ <=> ] 0--.- KB/sîn0s

2021-06-douăzeci05:29: 06(0,00B/s)- „backup.zst” salvat[0]

Folosind curl, adăugați-usemnalizați ca:

răsuci-udebian: debian ‘ftp://192.168.0.112/backup.zst '-saubackup.zst

răsuci-udebian: debian„ftp://192.168.0.112/backup.zst” -saubackup.zst

%Total%Primit%Xferd Viteza medie Timp Ora Timp curent

Descărcare încărcare Viteză totală stângă cheltuită

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

Pentru a încărca un fișierfişierlaftpcu buclă, folosim-Topțiune ca:

răsuci-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/

Asigurați-vă că directorul există și că utilizatorul are permisiuni de scriere.

NOTĂ: Deși cURL acceptă o mare varietate de protocoale, nu oferă descărcări recursive. Pe de altă parte, Wget acceptă descărcări recursive utilizând opțiunea –recursivă, deoarece atât protocoalele HTTP / HTTPS, cât și cele FTP / FTPS oferă, o astfel de funcționalitate.

Asemănări între wget și cURL

Acum pentru cireasa de pe tort:

  • Ambele instrumente acceptă protocoale standard precum HTTP, HTTPS, FTP, FTPS.
  • Ambele instrumente descarcă fișiere de pe internet.
  • Ambele instrumente acceptă cookie-uri HTTP.
  • Ambele instrumente acceptă ieșirea într-un fișier.
  • Atât instrumente gratuite, cât și dezvoltate activ.
  • Ambele instrumente acceptă reluarea transferurilor.
  • Ambele instrumente acceptă HTTP POST.

Diferențe între wget și cURL

Iată câteva dintre diferențele dintre curl și wget:

  • Wget este un utilitar de transfer simplu, în timp ce curl oferă multe altele.
  • Curl oferă biblioteca libcurl, care poate fi extinsă în aplicații GUI. Wget, pe de altă parte, este un utilitar simplu din linia de comandă.
  • Wget acceptă mai puține protocoale comparativ cu cURL.
  • Descărcările recursive nu sunt acceptate în curl.
  • Wget este disponibil în mod nativ în sistemele Linux, în timp ce cURL este disponibil în sistemele Windows.
  • cURL acceptă mai multe transferuri paralele.
  • cURL efectuează decompresii HTTP codificate prin transfer, în timp ce wget nu.
  • cURL acceptă HTTP bidirecțional în timp ce wget oferă un HTTP POST simplu.
  • cURL acceptă mai multe metode de autentificare HTTP comparativ cu wget.
  • Wget nu acceptă SOCKS.
  • Wget necesită gnulib instalat.
  • Spre deosebire de curl, caracteristici precum cookie-uri, timestamp-uri și redirecționări de urmărire sunt activate în mod implicit în wget. cURL necesită ca fiecare să fie specificat în mod explicit.

Concluzie

Acest tutorial s-a axat pe asemănările și diferențele dintre cURL. Deși poate părea că cURL este alegerea superioară, există cazuri în care wget este cea mai bună alegere.

Sfatul meu pentru tine este să alegi ce funcționează pentru tine.