Koks skirtumas tarp „wget“ ir „curl“?

What Is Difference Between Wget Vs Curl



Mums dažnai reikia atsisiųsti failus iš nuotolinių serverių į mūsų vietinę mašiną. Grafiniame darbalaukyje galime naudoti GUI naršyklę ir spustelėti atsisiuntimo mygtuką. Tačiau terminale turime naudoti terminalui sukurtus įrankius. Atsisiunčiant failus iš terminalo dažnai atsiranda keturi įrankiai: garbanoti , petys , wget , ir arija2 . Nors „axel“ ir „aria2“ gali būti mažai žinomi, dauguma galinių vartotojų žino „curl“ ir „wget“.

Šioje pamokoje apžvelgsime „curl“ ir „wget“, kaip pradėti, o svarbiausia - skirtumus tarp jų.





Kas yra CURL?

„CURL“ yra nemokama ir atviro kodo komandų eilutės priemonė, leidžianti vartotojams perkelti duomenis iš vienos nuotolinės mašinos į kitą su minimalia vartotojo sąveika. CURL naudojimas yra plačiai naudojamas tokiuose įrenginiuose kaip maršrutizatoriai, spausdintuvai, telefonai, planšetiniai kompiuteriai, medijos leistuvai ir kt.



Jis palaiko atsisiuntimą ir įkėlimą naudojant tokius protokolus kaip HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER ir daugelis kitų.



„cURL“ taip pat teikia tarpinius serverius, atnaujina perdavimą, vartotojo autentifikavimą, SSL sertifikatus ir dar daugiau.





Kas yra wget?

„GNU Wget“, paprastai vadinama „wget“, yra nemokama komandų eilutės programa, skirta perkelti failus naudojant HTTP/HTTPS, FTP ir FTPS. Jame yra tokių funkcijų kaip rekursinis atsisiuntimas, pralaidumo valdymas, atnaujintas persiuntimas, foninis atsisiuntimas, rekursiniai veidrodiniai failai ir katalogai ir daug daugiau.

Kaip įdiegti „CURL“ ir „Wget“?

„CURL“ ir „wget“ yra populiarūs įrankiai, lengvai prieinami pagrindiniuose „Linux“ platinimuose; jei neįdiegėte nė vieno įrankio, naudokite toliau pateiktas komandas, kad įdiegtumėte:



„Debian“/„Ubuntu“:

# įdiegti cURL

sudo apt-get installgarbanoti

# įdiegti wget

sudo apt-get install wget

Archas / Manjaro:

# įdiegti cURL

sudoPacmanas-Sgarbanoti

# įdiegti wget

sudoPacmanas-S wget

REHL/„CentOS“/„Fedora“:

# įdiegti cURL

sudo yum įdiegtigarbanoti

sudodnfdiegtigarbanoti

# įdiegti wget

sudo yum įdiegti wget

sudodnfdiegti wget

Kaip naudoti „cURL“ ir „Wget“ (pavyzdiniai naudojimo atvejai)?

Kad suprastumėte „CURL“ ir „wget“ panašumus ir skirtumus, verta pažvelgti į keletą pavyzdžių:

HTTP/HTTPS protokolai:

Tiek cURL, tiek „wget“ palaiko HTTP ir HTTPS protokolus. Taigi, jei atsisiųsime tokią svetainę kaip linuxhint.com:

garbanoti https://linuxhint.com-arbalinuxhint.html

garbanoti https://linuxhint.com-arbalinuxhint.html

%Iš viso%Gautas%„Xferd“ vidutinio greičio laiko laikas laiko srovė

Įkėlimas Įkėlimas Visas išleistas greitis kairėje

100256 tūkst0256 tūkst0 0166 tūkst0-: -: -0: 00: 01-:-:-166 tūkst

Pagal numatytuosius nustatymus „CURL“ spausdins žiniatinklio išteklių turinį terminale. Mes naudojame -o vėliavą, kad nukreiptume išvestį į failą.

Tai taikoma „wget“:

wgethttps://linuxhint.com

-2021-06-2005:09:Keturi, penki- https://linuxhint.com/

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

Prisijungimas prie linuxhint.com(linuxhint.com)|104.21.58.234|:443... prijungtas.

HTTP užklausa išsiųsta, laukiama atsakymo ...200Gerai

Ilgis: nenurodytas[tekstas/html]

Išsaugoma „index.html“

index.html

[ <=> ]256,25K 506KB/sį0,5s

2021 m-06-dvidešimt05:09:46 (506KB/s)- „index.html“ išsaugotas[262396]

Kita vertus, „Wget“ išsaugo prašomą išteklių faile.

Verta pažymėti, kad abu įrankiai atsisiunčia išteklius. Išsami informacija apie du failus rodo abu failų dydžius.

$ls -jieindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Birželio mėn19 penkiolika:penkiasdešimtindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Birželio mėndvidešimt05:07 linuxhint.html

FTP protokolas:

Tiek cURL, tiek „wget“ palaiko atsisiuntimus naudojant FTP protokolus. Tačiau cURL palaiko įkėlimą į ftp.

Norėdami atsisiųsti failus iš FTP serverio su „wget“, naudokite toliau pateiktą komandą:

wget --Vartotojas= debianas--Slaptažodis= 'Debian' ftp://192.168.0.112/atsarginė kopija.zst

wget --Vartotojas= debianas--Slaptažodis='debianas'ftp://192.168.0.112/atsarginė kopija.zst

-2021-06-2005:29: 06-- ftp://192.168.0.112/atsarginė kopija.zst

=>„Backup.zst“

Prisijungimas prie 192.168.0.112:dvidešimt vienas... prijungtas.

Registravimasį kaipdebianas ... Prisijungęsį!

==>SISTEMA ... padaryta. ==>PWD ... padaryta.

==>I TIPAS ... padaryta. ==>CWD nereikalingas.

==>SIZE backup.zst ... padaryta.

==>PASV ... padaryta. ==>RETR backup.zst ... padaryta.

atsarginė kopija.zst

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

2021 m-06-dvidešimt05:29: 06(0,00B/s)- „backup.zst“ išsaugotas[0]

Naudodami garbanas, pridėkite-upažymėti kaip:

garbanoti-udebian: debian 'ftp://192.168.0.112/backup.zst “-arbaatsarginė kopija.zst

garbanoti-udebianas: debianas'ftp://192.168.0.112/backup.zst' -arbaatsarginė kopija.zst

%Iš viso%Gautas%„Xferd“ vidutinio greičio laiko laikas laiko srovė

Įkėlimas Įkėlimas Visas išleistas greitis kairėje

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

Norėdami įkelti afailąįftpsu garbanomis, mes naudojame-Tvariantas kaip:

garbanoti-udebianas: debianas-Tbackup1.zst ftp://192.168.0.112/ftp/

Įsitikinkite, kad katalogas egzistuoja ir vartotojas turi rašymo teises.

PASTABA: Nors „CURL“ palaiko įvairius protokolus, jis nesuteikia rekursinių atsisiuntimų. Kita vertus, „Wget“ palaiko rekursinius atsisiuntimus, naudodami parinktį –recursive, nes tiek HTTP/HTTPS, tiek FTP/FTPS protokolai siūlo tokią funkciją.

Wget ir cURL panašumai

Dabar apie glazūrą ant torto:

  • Abu įrankiai palaiko standartinius protokolus, tokius kaip HTTP, HTTPS, FTP, FTPS.
  • Abu įrankiai atsisiunčia failus iš interneto.
  • Abu įrankiai palaiko HTTP slapukus.
  • Abu įrankiai palaiko failo išvestį.
  • Tiek nemokamos, tiek aktyviai kuriamos priemonės.
  • Abu įrankiai palaiko atnaujintus perkėlimus.
  • Abu įrankiai palaiko HTTP POST.

Skirtumai tarp wget ir cURL

Štai keletas skirtumų tarp curl ir wget:

  • „Wget“ yra paprasta perdavimo priemonė, o „curl“ siūlo daug daugiau.
  • „Curl“ teikia „libcurl“ biblioteką, kurią galima išplėsti į GUI programas. Kita vertus, „Wget“ yra paprasta komandinės eilutės priemonė.
  • „Wget“ palaiko mažiau protokolų, palyginti su cURL.
  • „Curl“ nepalaiko rekursyvių atsisiuntimų.
  • „Wget“ iš pradžių yra prieinama „Linux“ sistemose, o „cURL“ yra lengvai prieinama „Windows“ sistemose.
  • cURL palaiko kelis lygiagrečius perdavimus.
  • „cURL“ atlieka perdavimo koduotą HTTP išsklaidymą, o „wget“-ne.
  • „cURL“ palaiko dvikryptį HTTP, o „wget“ siūlo paprastą HTTP POST.
  • „cURL“ palaiko daugiau HTTP autentifikavimo metodų, palyginti su „wget“.
  • „Wget“ nepalaiko SOCKS.
  • „Wget“ reikia įdiegti „gnulib“.
  • Skirtingai nuo garbanojimo, tokios funkcijos kaip slapukai, laiko žymos ir sekimo peradresavimai yra įjungti pagal numatytuosius nustatymus „wget“. „CURL“ reikalauja, kad kiekvienas būtų aiškiai nurodytas.

Išvada

Ši pamoka sutelkė dėmesį į cURL panašumus ir skirtumus. Nors gali atrodyti, kad „CURL“ yra geriausias pasirinkimas, yra atvejų, kai „wget“ yra geriausias pasirinkimas.

Mano patarimas jums yra pasirinkti tai, kas jums tinka.