Vad är skillnaden mellan wget vs curl?

What Is Difference Between Wget Vs Curl



Vi behöver ofta ladda ner filer från fjärrservrar till vår lokala dator. På ett grafiskt skrivbord kan vi använda en GUI -webbläsare och klicka på nedladdningsknappen. Men på en terminal måste vi använda verktyg som utvecklats för terminalen. När du laddar ner filer från terminalen dyker ofta upp fyra verktyg: ringla , axel , wget , och aria2 . Även om axel och aria2 kanske inte är välkända, känner de flesta terminalanvändare till curl och wget.

I denna handledning kommer vi att titta på curl och wget, hur man kommer igång, och viktigast av allt, skillnaderna mellan dem.







Vad är cURL?

cURL är ett gratis kommandoradsverktyg med öppen källkod som tillåter användare att överföra data från en fjärrmaskin till en annan med minimal eller ingen användarinteraktion. CURL -användning är vanligt i enheter som routrar, skrivare, telefoner, surfplattor, mediaspelare och mer.



Den stöder nedladdning och uppladdning med protokoll som HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER och många, många fler.



cURL tillhandahåller också fullmakter, CV -överföringar, användarautentisering, SSL -certifikat och mycket mer.





Vad är wget?

GNU Wget, vanligtvis kallat wget, är ett gratis kommandoradsverktyg för överföring av filer med HTTP/HTTPS, FTP och FTPS. Det ger funktioner som rekursiva nedladdningar, bandbreddskontroll, återupptar avbrutna överföringar, nedladdningar i bakgrunden, rekursiva spegelfiler och kataloger och många fler.

Hur installerar jag cURL och Wget?

cURL och wget är populära verktyg som är lätt tillgängliga i stora Linux -distributioner; om du inte har något av verktygen installerat använder du kommandona nedan för att installera:



Debian/Ubuntu:

# installera cURL

sudo apt-get installringla

# installera wget

sudo apt-get install wget

Arch / Manjaro:

# installera cURL

sudoPac Man-Sringla

# installera wget

sudoPac Man-S wget

REHL/CentOS/Fedora:

# installera cURL

sudo yum installeraringla

sudodnfInstalleraringla

# installera wget

sudo yum installera wget

sudodnfInstallera wget

Hur använder man cURL och Wget (exempel på användningsfall)?

För att säkerställa att du förstår likheterna och skillnaderna mellan cURL och wget är det bra att titta på några exempel:

HTTP/HTTPS -protokoll:

Både cURL och wget stöder HTTP- och HTTPS -protokoll. Därför, om vi laddar ner en webbplats som linuxhint.com:

curl https://linuxhint.com-ellerlinuxhint.html

curl https://linuxhint.com-ellerlinuxhint.html

%Total%Mottagen%Xferd Medelhastighet Tid Tid Tid Aktuell

Dload Ladda upp total förbrukad vänster hastighet

100256k0256k0 0166k0-: -: -0: 00: 01-:-:-166k

Som standard kommer cURL att skriva ut innehållet i webbresursen i terminalen. Vi använder -o -flaggan för att omdirigera utdata till en fil.

Följande gäller för wget:

wgethttps://linuxhint.com

--2021-06-2005:09:Fyra fem- https://linuxhint.com/

Löser linuxhint.com(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815: 3aea, ...

Ansluter till linuxhint.com(linuxhint.com)|104.21.58.234|:443... ansluten.

HTTP -begäran skickad, väntar på svar ...200OK

Längd: ospecificerad[text/html]

Sparar till: 'index.html'

index.html

[ <=> ]256,25K 506KB/si0,5 sek

2021-06-tjugo05:09:46 (506KB/s)- ‘index.html’ sparat[262396]

Wget, å andra sidan, sparar den begärda resursen i en fil.

Det är bra att notera att båda verktygen laddar ner resursen. Ls -detaljerna för de två filerna visar båda filstorlekarna.

$ls -deindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396Jun19 femton:femtioindex.html

-rw-rw-r-- 1linuxhint linuxhint262396Juntjugo05:07 linuxhint.html

FTP -protokoll:

Både cURL och wget stöder nedladdningar på FTP -protokoll. CURL stöder dock uppladdning till ftp.

Använd kommandot nedan för att ladda ner filer från FTP -server med wget:

wget --användare= debian--Lösenord= 'Debian' ftp://192.168.0.112/backup.zst

wget --användare= debian--Lösenord='debian'ftp://192.168.0.112/backup.zst

--2021-06-2005:29: 06-- ftp://192.168.0.112/backup.zst

=>‘Backup.zst’

Ansluter till 192.168.0.112:tjugoett... ansluten.

Skogsavverkningi somdebian ... Loggadi!

==>SYST ... gjort. ==>PWD ... gjort.

==>TYP I ... klar. ==>CWD behövs inte.

==>SIZE backup.zst ... gjort.

==>PASV ... gjort. ==>RETR backup.zst ... gjort.

backup.zst

[ <=> ] 0--.- KB/si0s

2021-06-tjugo05:29: 06(0,00B/s)- ‘backup.zst’ sparat[0]

Lägg till-uflagga som:

ringla-udebian: debian ‘ftp://192.168.0.112/backup.zst ’-ellerbackup.zst

ringla-udebian: debian'ftp://192.168.0.112/backup.zst' -ellerbackup.zst

%Total%Mottagen%Xferd Medelhastighet Tid Tid Tid Aktuell

Dload Ladda upp total förbrukad vänster hastighet

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

För att ladda upp enfiltillftpmed curl använder vi-Talternativ som:

ringla-udebian: debian-Tbackup1.zst ftp://192.168.0.112/ftp/

Se till att katalogen finns och att användaren har skrivrättigheter till den.

NOTERA: Även om cURL stöder en mängd olika protokoll, ger det inte rekursiva nedladdningar. Å andra sidan stöder Wget rekursiva nedladdningar med –rekursivt alternativ som både HTTP/HTTPS och FTP/FTPS -protokoll erbjuder, sådan funktionalitet.

Likheter mellan wget och cURL

Nu till grädden på moset:

  • Båda verktygen stöder standardprotokoll som HTTP, HTTPS, FTP, FTPS.
  • Båda verktygen laddar ner filer från internet.
  • Båda verktygen stöder HTTP -cookies.
  • Båda verktygen stöder utmatning till en fil.
  • Både gratis och aktivt utvecklade verktyg.
  • Båda verktygen stöder CV -överföringar.
  • Båda verktygen stöder HTTP POST.

Skillnader mellan wget och cURL

Här är några av skillnaderna mellan curl och wget:

  • Wget är ett enkelt överföringsverktyg, medan curl erbjuder så mycket mer.
  • Curl tillhandahåller libcurl -biblioteket, som kan utökas till GUI -applikationer. Wget, å andra sidan, är ett enkelt kommandoradsverktyg.
  • Wget stöder färre protokoll jämfört med cURL.
  • Rekursiva nedladdningar stöds inte i curl.
  • Wget är inbyggt tillgängligt i Linux -system, medan cURL är lätt tillgängligt i Windows -system.
  • cURL stöder flera parallella överföringar.
  • cURL utför överföringskodade HTTP-dekomprimeringar, medan wget inte gör det.
  • cURL stöder dubbelriktad HTTP medan wget erbjuder en vanlig HTTP POST.
  • cURL stöder fler HTTP -autentiseringsmetoder jämfört med wget.
  • Wget stöder inte SOCKS.
  • Wget kräver gnulib installerat.
  • Till skillnad från curl är funktioner som cookies, tidsstämplar och följomdirigeringar aktiverade som standard i wget. cURL kräver att alla anges specifikt.

Slutsats

Denna handledning fokuserade på likheterna och skillnaderna mellan cURL. Även om det kan verka som att cURL är det överlägsna valet, finns det tillfällen där wget är det bästa valet.

Mitt råd till dig är att välja vad som fungerar för dig.