Wat is het verschil tussen wget en curl?

What Is Difference Between Wget Vs Curl



We moeten vaak bestanden downloaden van externe servers naar onze lokale machine. Op een grafisch bureaublad kunnen we een GUI-browser gebruiken en op de downloadknop klikken. Op een terminal moeten we echter tools gebruiken die voor de terminal zijn ontwikkeld. Bij het downloaden van bestanden van de terminal komen vaak vier tools naar voren: Krul , schouder , wget , en aria2 . Hoewel axel en aria2 misschien niet zo bekend zijn, kennen de meeste terminalgebruikers curl en wget.

In deze tutorial zullen we kijken naar curl en wget, hoe je aan de slag kunt en vooral de verschillen daartussen.







Wat is CURL?

cURL is een gratis en open-source opdrachtregelprogramma waarmee gebruikers gegevens van de ene externe machine naar de andere kunnen overbrengen met minimale of geen gebruikersinteractie. CURL-gebruik komt veel voor in apparaten zoals routers, printers, telefoons, tablets, mediaspelers en meer.



Het ondersteunt downloaden en uploaden met behulp van protocollen zoals HTTP/HTTPS, FTP, SFTP, SCP, IMAP, LDAP/LDAPS, SMB/SMBS, TELNET, POP3, GOPHER en nog veel, veel meer.



cURL biedt ook proxy's, cv-overdrachten, gebruikersauthenticatie, SSL-certificaten en nog veel meer.





Wat is wget?

GNU Wget, gewoonlijk wget genoemd, is een gratis opdrachtregelprogramma voor het overbrengen van bestanden via HTTP/HTTPS, FTP en FTPS. Het biedt functies zoals recursieve downloads, bandbreedtecontrole, hervat afgebroken overdrachten, achtergronddownloads, recursieve spiegelbestanden en mappen, en nog veel meer.

Hoe installeer ik cURL en Wget?

cURL en wget zijn populaire tools die direct beschikbaar zijn in de belangrijkste Linux-distributies; als u geen van beide tools hebt geïnstalleerd, gebruikt u de onderstaande opdrachten om te installeren:



Debian/Ubuntu:

# installeer cURL

sudo apt-get installKrul

# installeer wget

sudo apt-get install wget

Boog / Manjaro:

# installeer cURL

sudopacman-SKrul

# installeer wget

sudopacman-S wget

REHL/CentOS/Fedora:

# installeer cURL

sudo yum installerenKrul

sudodnfinstallerenKrul

# installeer wget

sudo yum installeren wget

sudodnfinstalleren wget

Hoe cURL en Wget gebruiken (voorbeeld use-cases)?

Om er zeker van te zijn dat je de overeenkomsten en verschillen tussen cURL en wget begrijpt, is het goed om naar een paar voorbeelden te kijken:

HTTP/HTTPS-protocollen:

Zowel cURL als wget ondersteunen HTTP- en HTTPS-protocollen. Dus als we een website downloaden zoals linuxhint.com:

krul https://linuxhint.com-oflinuxhint.html

krul https://linuxhint.com-oflinuxhint.html

%Totaal%Ontvangen%Xferd Gemiddelde snelheid Tijd Tijd Tijd Actueel

Dload Upload totaal besteed linker snelheid

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

Standaard drukt cURL de inhoud van de webresource in de terminal af. We gebruiken de vlag -o om de uitvoer om te leiden naar een bestand.

Voor wget geldt het volgende:

wgethttps://linuxhint.com

---2021-06-2005:09:Vier vijf- https://linuxhint.com/

linuxhint.com oplossen(linuxhint.com)... 104.21.58.234, 172.67.209.252,2606:4700:3033::6815:3aea, ...

Verbinding maken met linuxhint.com(linuxhint.com)|104.21.58.234|:443... verbonden.

HTTP-verzoek verzonden, in afwachting van antwoord...200Oke

Lengte: niet gespecificeerd[tekst/html]

Opslaan naar: ‘index.html’

index.html

[ <=> ]256,25K 506KB/sin0,5s

2021-06-twintig05:09:46 (506KB/s)- 'index.html' opgeslagen[262396]

Wget daarentegen slaat de gevraagde bron op in een bestand.

Het is goed om te weten dat beide tools de bron downloaden. De ls-details van de twee bestanden tonen beide bestandsgroottes.

$ls -deindex.html linuxhint.html

-rw-rw-r-- 1linuxhint linuxhint262396juni19 vijftien:vijftigindex.html

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

FTP-protocol:

Zowel cURL als wget ondersteunen downloads op FTP-protocollen. cURL ondersteunt echter uploaden naar ftp.

Gebruik de onderstaande opdracht om bestanden van de FTP-server te downloaden met wget:

wget --gebruiker= debian--wachtwoord=’debian’ ftp://192.168.0.112/backup.zst

wget --gebruiker= debian--wachtwoord='debian'ftp://192.168.0.112/backup.zst

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

=>‘back-up.zst’

Verbinding maken met 192.168.0.112:eenentwintig... verbonden.

Loggenin alsdebian ... Gelogdin!

==>SYST ... klaar. ==>PWD ... gedaan.

==>TYPE I ... klaar. ==>CWD niet nodig.

==>SIZE backup.zst ... klaar.

==>PASV ... gedaan. ==>RETR backup.zst ... klaar.

backup.zst

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

2021-06-twintig05:29: 06(0,00B/s)- 'backup.zst' opgeslagen[0]

Gebruik krul, voeg de . toe-umarkeren als:

Krul-udebian:debian ‘ftp://192.168.0.112/backup.zst'-ofbackup.zst

Krul-udebian: debian'ftp://192.168.0.112/backup.zst' -ofbackup.zst

%Totaal%Ontvangen%Xferd Gemiddelde snelheid Tijd Tijd Tijd Actueel

Dload Upload totaal besteed linker snelheid

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

Om een ​​te uploadenhet dossiertotftpmet krul gebruiken we de-Toptie als:

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

Zorg ervoor dat de map bestaat en dat de gebruiker schrijfrechten heeft.

OPMERKING: Hoewel cURL een breed scala aan protocollen ondersteunt, biedt het geen recursieve downloads. Aan de andere kant ondersteunt Wget recursieve downloads met behulp van de -recursieve optie, aangezien zowel HTTP/HTTPS- als FTP/FTPS-protocollen dergelijke functionaliteit bieden.

Overeenkomsten tussen wget en cURL

Nu voor de kers op de taart:

  • Beide tools ondersteunen standaardprotocollen zoals HTTP, HTTPS, FTP, FTPS.
  • Beide tools downloaden bestanden van internet.
  • Beide tools ondersteunen HTTP-cookies.
  • Beide tools ondersteunen uitvoer naar een bestand.
  • Zowel gratis als actief ontwikkelde tools.
  • Beide tools ondersteunen cv-overdrachten.
  • Beide tools ondersteunen HTTP POST.

Verschillen tussen wget en cURL

Hier zijn enkele van de verschillen tussen curl en wget:

  • Wget is een eenvoudig overdrachtshulpprogramma, terwijl curl zoveel meer biedt.
  • Curl biedt de libcurl-bibliotheek, die kan worden uitgebreid tot GUI-toepassingen. Wget daarentegen is een eenvoudig hulpprogramma voor de opdrachtregel.
  • Wget ondersteunt minder protocollen in vergelijking met cURL.
  • Recursieve downloads worden niet ondersteund in curl.
  • Wget is standaard beschikbaar in Linux-systemen, terwijl cURL direct beschikbaar is in Windows-systemen.
  • cURL ondersteunt meerdere parallelle overdrachten.
  • cURL voert Transfer-Encoded HTTP-decompressies uit, terwijl wget dat niet doet.
  • cURL ondersteunt bidirectionele HTTP terwijl wget een gewone HTTP POST biedt.
  • cURL ondersteunt meer HTTP-verificatiemethoden in vergelijking met wget.
  • Wget ondersteunt geen SOKKEN.
  • Wget vereist dat gnulib is geïnstalleerd.
  • In tegenstelling tot curl zijn functies zoals cookies, tijdstempels en volgomleidingen standaard ingeschakeld in wget. cURL vereist dat elk expliciet wordt gespecificeerd.

Conclusie

Deze tutorial was gericht op de overeenkomsten en de verschillen tussen cURL. Hoewel het lijkt alsof cURL de beste keuze is, zijn er gevallen waarin wget de beste keuze is.

Mijn advies aan jou is om te kiezen wat voor jou werkt.