I denne vejledning ser vi på curl og wget, hvordan man kommer i gang og vigtigst af alt forskellene mellem dem.
Hvad er cURL?
cURL er et gratis og open-source kommandolinjeværktøj, der giver brugerne mulighed for at overføre data fra en fjernmaskine til en anden med minimal eller ingen brugerinteraktion. CURL -brug er udbredt på enheder som routere, printere, telefoner, tablets, medieafspillere og mere.
Det understøtter download og upload ved hjælp af protokoller som HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER og mange, mange flere.
cURL giver også fuldmagter, genoptag overførsler, brugergodkendelse, SSL -certifikater og meget mere.
Hvad er wget?
GNU Wget, almindeligvis kaldet wget, er et gratis kommandolinjeværktøj til overførsel af filer ved hjælp af HTTP/HTTPS, FTP og FTPS. Det giver funktioner som rekursive downloads, båndbreddekontrol, genoptager afbrudte overførsler, downloads i baggrunden, rekursive spejlfiler og mapper og mange flere.
Sådan installeres cURL og Wget?
cURL og wget er populære værktøjer, der er let tilgængelige i større Linux -distributioner; hvis du ikke har et af værktøjerne installeret, kan du bruge følgende kommandoer til at installere:
Debian/Ubuntu:
# installer cURLsudo apt-get installkrølle
# installer wget
sudo apt-get install wget
Arch / Manjaro:
# installer cURLsudopacman-Skrølle
# installer wget
sudopacman-S wget
REHL/CentOS/Fedora:
# installer cURLsudo yum installerekrølle
sudodnfinstallerekrølle
# installer wget
sudo yum installere wget
sudodnfinstallere wget
Sådan bruges cURL og Wget (eksempler på tilfælde)?
For at sikre, at du forstår ligheder og forskelle mellem cURL og wget, er det godt at se på et par eksempler:
HTTP/HTTPS -protokoller:
Både cURL og wget understøtter HTTP- og HTTPS -protokoller. Derfor, hvis vi downloader et websted som linuxhint.com:
krølle https://linuxhint.com-ellerlinuxhint.htmlkrølle https://linuxhint.com-ellerlinuxhint.html
%i alt%Modtaget%Xferd Gennemsnitlig hastighed Tid Tid Tid Aktuel
Dload Upload samlet brugt venstre hastighed
100256k0256k0 0166k0-: -: -0: 00: 01-:-:-166k
Som standard udskriver cURL indholdet af webressourcen i terminalen. Vi bruger -o -flag til at omdirigere output til en fil.
Følgende gælder for wget:
wgethttps://linuxhint.com--2021-06-2005:09:Fire. Fem- https://linuxhint.com/
Løser linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aa, ...
Opretter forbindelse til linuxhint.com(linuxhint.com)|104.21.58.234|:443... forbundet.
HTTP -anmodning sendt, afventer svar ...200Okay
Længde: uspecificeret[tekst/html]
Gemmer på: 'index.html'
index.html
[ <=> ]256,25K 506KB/si0,5 sek
2021-06-tyve05:09:46 (506KB/s)- 'index.html' gemt[262396]
Wget gemmer derimod den anmodede ressource i en fil.
Det er godt at bemærke, at begge værktøjer downloader ressourcen. LS -detaljerne for de to filer viser begge filstørrelser.
$ls -detindex.html linuxhint.html-rw-rw-r-- 1linuxhint linuxhint262396Jun19 femten:halvtredsindex.html
-rw-rw-r-- 1linuxhint linuxhint262396Juntyve05:07 linuxhint.html
FTP -protokol:
Både cURL og wget understøtter downloads på FTP -protokoller. CURL understøtter dog upload til ftp.
Brug kommandoen herunder til at downloade filer fra FTP -server med wget:
wget --bruger= debian--adgangskode= 'Debian' ftp://192.168.0.112/backup.zstwget --bruger= debian--adgangskode='debian'ftp://192.168.0.112/backup.zst
--2021-06-2005:29: 06-- ftp://192.168.0.112/backup.zst
=>'Backup.zst'
Tilslutning til 192.168.0.112:enogtyve... forbundet.
Logningi somdebian ... Loggeti!
==>SYST ... udført. ==>PWD ... klaret.
==>TYPE I ... færdig. ==>CWD ikke nødvendig.
==>STØRRELSE backup.zst ... udført.
==>PASV ... udført. ==>RETR backup.zst ... udført.
backup.zst
[ <=> ] 0--.- KB/si0s
2021-06-tyve05:29: 06(0,00B/s)- 'backup.zst' gemt[0]
Brug curl, tilføj-uflag som:
krølle-udebian: debian 'ftp://192.168.0.112/backup.zst ’-ellerbackup.zst
krølle-udebian: debian'ftp://192.168.0.112/backup.zst' -ellerbackup.zst
%i alt%Modtaget%Xferd Gennemsnitlig hastighed Tid Tid Tid Aktuel
Dload Upload samlet brugt venstre hastighed
0 0 0 0 0 0 0 0-: -: - -: -: - -: -: -0
For at uploade enfiltilftpmed krølle bruger vi-Tvalgmulighed som:
krølle-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/
Sørg for, at biblioteket findes, og at brugeren har skrivetilladelser til det.
BEMÆRK: Selvom cURL understøtter en lang række forskellige protokoller, giver den ikke rekursive downloads. På den anden side understøtter Wget rekursive downloads ved hjælp af –recursive mulighed, som både HTTP/HTTPS og FTP/FTPS protokoller tilbyder, sådan funktionalitet.
Ligheder mellem wget og cURL
Nu til prikken over i’et:
- Begge værktøjer understøtter standardprotokoller som HTTP, HTTPS, FTP, FTPS.
- Begge værktøjer downloader filer fra internettet.
- Begge værktøjer understøtter HTTP -cookies.
- Begge værktøjer understøtter output til en fil.
- Både gratis og aktivt udviklede værktøjer.
- Begge værktøjer understøtter genoptagelse af overførsler.
- Begge værktøjer understøtter HTTP POST.
Forskelle mellem wget og cURL
Her er nogle af forskellene mellem curl og wget:
- Wget er et enkelt overførselsværktøj, mens curl tilbyder så meget mere.
- Curl giver libcurl -biblioteket, som kan udvides til GUI -applikationer. Wget er på den anden side et enkelt kommandolinjeværktøj.
- Wget understøtter færre protokoller sammenlignet med cURL.
- Rekursive downloads understøttes ikke i curl.
- Wget er oprindeligt tilgængelig i Linux -systemer, mens cURL er let tilgængelig i Windows -systemer.
- cURL understøtter flere parallelle overførsler.
- cURL udfører overførselskodede HTTP-dekomprimeringer, mens wget ikke gør det.
- cURL understøtter tovejs HTTP, mens wget tilbyder en almindelig HTTP POST.
- cURL understøtter flere HTTP -godkendelsesmetoder sammenlignet med wget.
- Wget understøtter ikke SOCKS.
- Wget kræver gnulib installeret.
- I modsætning til curl aktiveres funktioner som cookies, tidsstempler og følgomdirigeringer som standard i wget. cURL kræver, at hver enkelt er angivet eksplicit.
Konklusion
Denne vejledning fokuserede på lighederne og forskellene mellem cURL. Selvom det kan virke som om cURL er det overlegne valg, er der tilfælde, hvor wget er det bedste valg.
Mit råd til dig er at vælge, hvad der fungerer for dig.