U ovom ćemo vodiču pogledati curl i wget, kako započeti, i što je najvažnije, razlike među njima.
Što je cURL?
cURL je besplatan i program otvorenog koda za naredbeni redak koji korisnicima omogućuje prijenos podataka s jednog udaljenog stroja na drugi uz minimalnu interakciju korisnika ili bez nje. Upotreba CURL -a prevladava u uređajima poput usmjerivača, pisača, telefona, tableta, media playera i drugih.
Podržava preuzimanje i prijenos pomoću protokola kao što su HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER i mnogi, mnogi drugi.
cURL također nudi proxyje, životopisne prijenose, autentifikaciju korisnika, SSL certifikate i još mnogo toga.
Što je wget?
GNU Wget, koji se obično naziva wget, besplatan je program za naredbeni redak za prijenos datoteka pomoću HTTP/HTTPS, FTP i FTPS. Nudi značajke kao što su rekurzivna preuzimanja, kontrola propusnosti, nastavlja prekinute prijenose, preuzimanja u pozadini, rekurzivne datoteke zrcala i direktorije i mnoge druge.
Kako instalirati cURL i Wget?
cURL i wget popularni su alati dostupni u većim distribucijama Linuxa; ako nemate instaliran niti jedan alat, za instalaciju koristite naredbe u nastavku:
Debian/Ubuntu:
# instalirajte cURLsudo apt-get installkovrča
# instaliraj wget
sudo apt-get install wget
Arch / Manjaro:
# instalirajte cURLsudoPac Man-Skovrča
# instaliraj wget
sudoPac Man-S wget
REHL/CentOS/Fedora:
# instalirajte cURLsudo yum installkovrča
sudodnfinstaliratikovrča
# instaliraj wget
sudo yum install wget
sudodnfinstalirati wget
Kako koristiti cURL i Wget (primjeri primjera upotrebe)?
Kako biste bili sigurni da razumijete sličnosti i razlike između cURL -a i wget -a, dobro je pogledati nekoliko primjera:
HTTP/HTTPS protokoli:
I cURL i wget podržavaju HTTP i HTTPS protokole. Stoga, ako preuzmemo web stranicu poput linuxhint.com:
curl https://linuxhint.com-ililinuxhint.htmlcurl https://linuxhint.com-ililinuxhint.html
%Ukupno%Primljeno%Xferd Prosječna brzina Vrijeme Vrijeme Vrijeme Struja
Dload Upload Ukupna potrošena lijeva brzina
100256 tisuća kuna0256 tisuća kuna0 0166 tisuća0-: -: -0: 00: 01-:-:-166.000
Prema zadanim postavkama, cURL će ispisati sadržaj web izvora u terminalu. Koristimo -o zastavu za preusmjeravanje izlaza u datoteku.
Sljedeće se odnosi na wget:
wgethttps://linuxhint.com--2021-06-2005:09:Četiri pet- https://linuxhint.com/
Rješavanje linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...
Povezivanje s linuxhint.com(linuxhint.com)|104.21.58.234|:443... spojen.
HTTP zahtjev poslan, čeka se odgovor ...200u redu
Duljina: neodređeno[tekst/html]
Spremanje na: 'index.html'
index.html
[ <=> ]256,25K 506KB/su0,5 s
2021. godine-06-dvadeset05:09:46 (506KB/s)- 'index.html' spremljeno[262396]
Wget, s druge strane, sprema traženi resurs u datoteku.
Dobro je napomenuti da oba alata preuzimaju resurs. Detalji o dvije datoteke prikazuju obje veličine datoteka.
$ls -index.html linuxhint.html-rw-rw-r-- 1linuxhint linuxhint262396Lipnja19 petnaest:pedesetindex.html
-rw-rw-r-- 1linuxhint linuxhint262396Lipnjadvadeset05:07 linuxhint.html
FTP protokol:
I cURL i wget podržavaju preuzimanje na FTP protokolima. Međutim, cURL podržava prijenos na ftp.
Upotrijebite naredbu u nastavku za preuzimanje datoteka s FTP poslužitelja pomoću wget -a:
wget --korisnik= debian--lozinka= 'Debian' ftp://192.168.0.112/sigurnosna kopija.zstwget --korisnik= debian--lozinka='debian'ftp://192.168.0.112/sigurnosna kopija.zst
--2021-06-2005:29: 06-- ftp://192.168.0.112/sigurnosna kopija.zst
=>'Backup.zst'
Povezivanje s 192.168.0.112:dvadeset i jedan... spojen.
Zapisivanjeu kaodebian ... Zabilježenu!
==>SYST ... učinjeno. ==>OOS ... učinjeno.
==>TIP I ... gotovo. ==>CWD nije potreban.
==>SIZE backup.zst ... gotovo.
==>PASV ... učinjeno. ==>RETR backup.zst ... učinjeno.
sigurnosna kopija.zst
[ <=> ] 0--.- KB/su0s
2021. godine-06-dvadeset05:29: 06(0,00B/s)- 'backup.zst' spremljen[0]
Koristeći curl, dodajte-uoznačiti kao:
kovrča-udebian: debian 'ftp://192.168.0.112/backup.zst '-ilisigurnosna kopija.zst
kovrča-udebian: debian'ftp://192.168.0.112/backup.zst' -ilisigurnosna kopija.zst
%Ukupno%Primljeno%Xferd Prosječna brzina Vrijeme Vrijeme Vrijeme Struja
Dload Upload Ukupna potrošena lijeva brzina
0 0 0 0 0 0 0 0-: -: - -:: -: - -: -: -0
Za učitavanje adatotekadoftps curlom koristimo-Topcija kao:
kovrča-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/
Provjerite postoji li direktorij i ima li korisnik dopuštenja za pisanje.
BILJEŠKA: Iako cURL podržava veliki broj protokola, ne omogućuje rekurzivna preuzimanja. S druge strane, Wget podržava rekurzivna preuzimanja koristeći opciju –recursive jer i HTTP/HTTPS i FTP/FTPS protokoli nude takvu funkcionalnost.
Sličnosti između wget -a i cURL -a
A sada glazura na torti:
- Oba alata podržavaju standardne protokole kao što su HTTP, HTTPS, FTP, FTPS.
- Oba alata preuzimaju datoteke s interneta.
- Oba alata podržavaju HTTP kolačiće.
- Oba alata podržavaju izlaz u datoteku.
- I besplatni i aktivno razvijeni alati.
- Oba alata podržavaju prijenose životopisa.
- Oba alata podržavaju HTTP POST.
Razlike između wget i cURL
Evo nekih razlika između curl i wget:
- Wget je jednostavan uslužni program za prijenos, dok curl nudi mnogo više.
- Curl nudi biblioteku libcurl koja se može proširiti u GUI aplikacije. Wget je, s druge strane, jednostavan uslužni program za naredbeni redak.
- Wget podržava manje protokola u odnosu na cURL.
- Rekurzivna preuzimanja nisu podržana u curlu.
- Wget je izvorno dostupan u Linux sustavima, dok je cURL lako dostupan u Windows sustavima.
- cURL podržava više paralelnih prijenosa.
- cURL izvodi dekompresije kodiranih prijenosom HTTP-a, dok wget ne.
- cURL podržava dvosmjerni HTTP, dok wget nudi običan HTTP POST.
- cURL podržava više HTTP metoda autorizacije u odnosu na wget.
- Wget ne podržava SOCKS.
- Wget zahtijeva instaliran gnulib.
- Za razliku od curla, značajke poput kolačića, vremenskih oznaka i slijednih preusmjeravanja omogućene su prema zadanim postavkama u wget -u. cURL zahtijeva da se svaki izričito navede.
Zaključak
Ovaj vodič se usredotočio na sličnosti i razlike između cURL -a. Iako se može činiti da je cURL vrhunski izbor, postoje slučajevi u kojima je wget najbolji izbor.
Moj vam je savjet da odaberete ono što vam odgovara.