cURL vs. wget în Linux: Care este diferența?
Publicat: 2022-07-13 Dacă întrebați o grămadă de utilizatori Linux cu ce descarcă fișiere, unii vor spune wget
, iar alții vor spune cURL
. Care este diferența și este unul mai bun decât celălalt?
A început cu conectivitate
Cercetătorii guvernamentali au început să conecteze diferite rețele împreună încă din anii 1960, dând naștere rețelelor interconectate . Dar nașterea internetului așa cum îl cunoaștem a avut loc la 1 ianuarie 1983, când a fost implementat protocolul TCP/IP. Aceasta era veriga lipsă. A permis computerelor și rețelelor disparate să comunice folosind un standard comun.
În 1991, CERN și-a lansat software-ul World Wide Web pe care îl foloseau intern de câțiva ani. Interesul pentru această suprapunere vizuală pentru internet a fost imediat și larg răspândit. Până la sfârșitul anului 1994, existau 10.000 de servere web și 10 milioane de utilizatori.
Aceste două repere – internetul și internetul – reprezintă fețe foarte diferite ale conectivității. Dar împărtășesc multe aceleași funcționalități.
Conectivitate înseamnă doar asta. Vă conectați la un dispozitiv la distanță, cum ar fi un server. Și vă conectați la el pentru că există ceva pe el de care aveți nevoie sau doriți. Dar cum recuperezi resursa găzduită de la distanță pe computerul tău local, din linia de comandă Linux?
În 1996, s-au născut două utilitare care vă permit să descărcați resurse găzduite de la distanță. Acestea sunt wget
, care a fost lansat în ianuarie și cURL
care a fost lansat în decembrie. Ambele operează pe linia de comandă Linux. Ambii se conectează la servere la distanță și amândoi preiau lucruri pentru tine.
Dar acesta nu este doar cazul obișnuit în care Linux oferă două sau mai multe instrumente pentru a face aceeași treabă. Aceste utilitati au scopuri diferite si specializari diferite. Problema este că sunt suficient de asemănătoare încât să provoace confuzie cu privire la care să folosești și când.
Luați în considerare doi chirurgi. Probabil că nu doriți ca un chirurg de ochi să vă efectueze operația de bypass cardiac și nici nu doriți ca chirurgul de inimă să vă facă operația de cataractă. Da, ambii sunt profesioniști medicali cu înaltă calificare, dar asta nu înseamnă că sunt înlocuitori unul pentru celălalt.
Același lucru este valabil și pentru wget
și cURL
.
Scopuri diferite, caracteristici diferite, unele suprapuneri
„w” din comanda wget
este un indicator al scopului propus. Scopul său principal este de a descărca pagini web sau chiar site-uri web întregi. Pagina sa de man
îl descrie ca pe un utilitar pentru a descărca fișiere de pe Web folosind protocoalele HTTP, HTTPS și FTP.
Prin contrast, cURL
funcționează cu 26 de protocoale, inclusiv SCP, SFTP și SMSB, precum și HTTPS. Pagina sa de man
spune că este un instrument pentru transferul de date către sau de la un server. Nu este adaptat pentru a funcționa cu site-uri web, în special. Este conceput pentru a interacționa cu servere la distanță, folosind oricare dintre multele protocoale de internet pe care le acceptă.
Deci, wget
este în principal centrat pe site-uri web, în timp ce cURL
este ceva care operează la un nivel mai profund, mai jos la nivel de internet simplu.
wget
este capabil să recupereze pagini web și poate naviga recursiv în întregi structuri de directoare pe servere web pentru a descărca site-uri web întregi. De asemenea, poate ajusta legăturile din paginile preluate, astfel încât acestea să trimită corect către paginile web de pe computerul dvs. local și nu către omologii lor de pe serverul web la distanță.
cURL
vă permite să interacționați cu serverul de la distanță. Poate încărca fișiere și le poate prelua. cURL
funcționează cu proxy-urile SOCKS4 și SOCKS5 și HTTPS către proxy. Acceptă decomprimarea automată a fișierelor comprimate în formatele GZIP, BROTLI și ZSTD. cURL
vă permite, de asemenea, să descărcați mai multe transferuri în paralel.
Suprapunerea dintre ele este că wget
și cURL
vă permit ambele să preluați pagini web și să utilizați servere FTP.
Este doar o valoare aproximativă, dar puteți obține o apreciere a setului de caracteristici relative ale celor două instrumente uitându-vă la lungimea paginilor lor de man
. Pe mașina noastră de testare, pagina de manual pentru wget
are 1433 de linii. Pagina de man
pentru cURL
are 5296 de linii.
O privire rapidă la wget
Deoarece wget
face parte din proiectul GNU, ar trebui să îl găsiți preinstalat pe toate distribuțiile Linux. Utilizarea acestuia este simplă, mai ales pentru cele mai comune utilizări: descărcarea de pagini web sau fișiere.
Utilizați doar comanda wget
cu adresa URL către pagina web sau fișierul de la distanță.
wget https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
Fișierul este preluat și salvat pe computer cu numele său original.
Pentru ca fișierul să fie salvat cu un nume nou, utilizați opțiunea -O
(document de ieșire).
wget -O word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
Fișierul preluat este salvat cu numele ales de noi.
Nu utilizați opțiunea -O
când preluați site-uri web. Dacă o faci, toate fișierele preluate sunt atașate într-unul singur.
Pentru a prelua un întreg site web, utilizați opțiunea -m
(oglindă) și adresa URL a paginii de pornire a site-ului web. De asemenea, veți dori să utilizați --page-requisites
pentru a vă asigura că sunt descărcate și toate fișierele de suport necesare pentru redarea corectă a paginilor web. Opțiunea --convert-links
ajustează linkurile din fișierul preluat pentru a indica destinațiile corecte de pe computerul local, în loc de locații externe de pe site-ul web.
LEGĂTATE: Cum să utilizați wget, instrumentul final de descărcare în linia de comandă
O privire rapidă la cURL
cURL
este un proiect independent open-source. Este preinstalat pe Manjaro 21 și Fedora 36, dar trebuia instalat pe Ubuntu 21.04.
Aceasta este comanda pentru a instala cURL pe Ubuntu.
sudo apt install curl
Pentru a descărca același fișier ca și cu wget
și pentru a-l salva cu același nume, trebuie să folosim această comandă. Rețineți că -o
(ieșire) este cu litere mici cu cURL
.
curl -o word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc
Fișierul este descărcat pentru noi. O bară de progres ASCII este afișată în timpul descărcării.
Pentru a vă conecta la un server FTP și a descărca un fișier, utilizați opțiunea -u
(utilizator) și furnizați o pereche de nume de utilizator și parolă, astfel:
curl -o test.png -u demo:parolă ftp://test.rebex.net/pub/example/KeyGenerator.png
Aceasta descarcă și redenumește un fișier de pe un server FTP de testare.
LEGATE: Cum să utilizați curl pentru a descărca fișiere de pe linia de comandă Linux
Nu există cel mai bun
Este imposibil să răspunzi „Pe care ar trebui să-l folosesc” fără să întrebi „Ce încerci să faci?”
Odată ce înțelegi ce fac wget
și cURL
, îți vei da seama că nu sunt în competiție. Nu îndeplinesc aceeași cerință și nu încearcă să ofere aceeași funcționalitate.
Descărcarea de pagini web și site-uri web este locul în care se află superioritatea lui wget
. Dacă asta faci, folosește wget
. Pentru orice altceva — încărcarea, de exemplu, sau utilizarea oricăruia dintre multitudinea de alte protocoale — utilizați cURL
.