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 cURLsudo apt-get installringla
# installera wget
sudo apt-get install wget
Arch / Manjaro:
# installera cURLsudoPac Man-Sringla
# installera wget
sudoPac Man-S wget
REHL/CentOS/Fedora:
# installera cURLsudo 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.htmlcurl 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.zstwget --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.