Š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 cURLsudo apt-get installgarbanoti
# įdiegti wget
sudo apt-get install wget
Archas / Manjaro:
# įdiegti cURLsudoPacmanas-Sgarbanoti
# įdiegti wget
sudoPacmanas-S wget
REHL/„CentOS“/„Fedora“:
# įdiegti cURLsudo 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.htmlgarbanoti 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.zstwget --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.