Hvad er forskellen mellem wget vs curl?

What Is Difference Between Wget Vs Curl



Vi har ofte brug for at downloade filer fra eksterne servere til vores lokale maskine. På et grafisk skrivebord kan vi bruge en GUI -browser og klikke på download -knappen. Men på en terminal skal vi bruge værktøjer, der er udviklet til terminalen. Ved download af filer fra terminalen kommer der ofte fire værktøjer frem: krølle , skulder , wget , og aria2 . Selvom axel og aria2 måske ikke er kendt, kender de fleste terminalbrugere curl og wget.

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 cURL

sudo apt-get installkrølle

# installer wget

sudo apt-get install wget

Arch / Manjaro:

# installer cURL

sudopacman-Skrølle

# installer wget

sudopacman-S wget

REHL/CentOS/Fedora:

# installer cURL

sudo 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.html

krø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.zst

wget --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.