cURL versus wget in Linux: wat is het verschil?

fatmawati achmad zaenuri/Shutterstock.com

Als je een stel Linux-gebruikers vraagt ​​waarmee ze bestanden downloaden, zullen sommigen zeggen: wget en anderen zullen zeggen: cURL. Wat is het verschil en is de een beter dan de ander?

Het begon met connectiviteit

Reeds in de jaren zestig begonnen overheidsonderzoekers verschillende netwerken met elkaar te verbinden, wat leidde tot: onder-verbonden netto-werken. Maar de geboorte van het internet zoals we dat kennen vond plaats op 1 januari. 1st, 1983 toen het TCP/IP-protocol werd geïmplementeerd. Dit was de ontbrekende schakel. Het is toegestaan ​​om verschillende computers en netwerken te laten communiceren met behulp van een gemeenschappelijke standaard.

In 1991 bracht CERN hun World Wide Web-software uit die ze al een paar jaar intern gebruikten. De belangstelling voor deze visuele overlay voor internet was onmiddellijk en wijdverbreid. Tegen het einde van 1994 waren er 10.000 webservers en 10 miljoen gebruikers.

Deze twee mijlpalen – internet en internet – vertegenwoordigen heel verschillende gezichten van connectiviteit. Maar ze delen ook veel van dezelfde functionaliteit.

Connectiviteit betekent precies dat. U maakt verbinding met een extern apparaat, zoals een server. En je maakt er verbinding mee omdat er iets op staat dat je nodig hebt of wilt. Maar hoe haal je die op afstand gehoste bron op naar je lokale computer, vanaf de Linux-opdrachtregel?

In 1996 werden twee hulpprogramma’s geboren waarmee u op afstand gehoste bronnen kunt downloaden. Zij zijn wgetdie in januari werd uitgebracht, en cURL die in december werd uitgebracht. Ze werken allebei op de Linux-opdrachtregel. Ze maken allebei verbinding met externe servers en ze halen allebei dingen voor je op.

Maar dit is niet alleen het gebruikelijke geval van Linux die twee of meer tools biedt om hetzelfde werk te doen. Deze hulpprogramma’s hebben verschillende doelen en verschillende specialismen. Het probleem is dat ze voldoende op elkaar lijken om verwarring te veroorzaken over welke te gebruiken en wanneer.

Overweeg twee chirurgen. U wilt waarschijnlijk niet dat een oogchirurg uw hartbypassoperatie uitvoert, en u wilt ook niet dat de hartchirurg uw staaroperatie uitvoert. Ja, het zijn allebei hoogopgeleide medische professionals, maar dat betekent niet dat ze elkaar vervangen.

Hetzelfde geldt voor wget en cURL.

Verschillende doeleinden, verschillende functies, enige overlap

De “w” in de wget commando is een indicator van het beoogde doel. Het primaire doel is om webpagina’s te downloaden, of zelfs hele websites. Zijn man pagina beschrijft het als een hulpprogramma om bestanden van het web te downloaden met behulp van de HTTP-, HTTPS- en FTP-protocollen.

Daarentegen, cURL Werkt met 26 protocollen, waaronder SCP, SFTP en SMSB, evenals HTTPS. Zijn man pagina zegt dat het een hulpmiddel is voor het overdragen van gegevens van of naar een server. Het is niet specifiek gemaakt om met websites te werken. Het is bedoeld voor interactie met externe servers, met behulp van een van de vele internetprotocollen die het ondersteunt.

Dus, wget is overwegend websitegericht, terwijl cURL is iets dat op een dieper niveau werkt, op het gewone internetniveau.

wget kan webpagina’s ophalen en kan recursief door hele directorystructuren op webservers navigeren om hele websites te downloaden. Het is ook in staat om de links in de opgehaalde pagina’s zo aan te passen dat ze correct verwijzen naar de webpagina’s op uw lokale computer, en niet naar hun tegenhangers op de externe webserver.

cURL laat u communiceren met de externe server. Het kan zowel bestanden uploaden als ophalen. cURL werkt met SOCKS4- en SOCKS5-proxy’s en HTTPS naar de proxy. Het ondersteunt de automatische decompressie van gecomprimeerde bestanden in de formaten GZIP, BROTLI en ZSTD. cURL laat je ook meerdere overdrachten tegelijk downloaden.

De overlap tussen hen is dat: wget en cURL Met beide kunt u webpagina’s ophalen en FTP-servers gebruiken.

Het is slechts een ruwe statistiek, maar u kunt enige waardering krijgen voor de relatieve functiesets van de twee tools door te kijken naar de lengte van hun man Pagina’s. Op onze testmachine, de man-pagina voor wget is 1433 regels lang. De man pagina voor cURL is maar liefst 5296 regels.

Een snelle blik op wget

Omdat wget deel uitmaakt van het GNU-project, zou je het voorgeïnstalleerd moeten vinden op alle Linux-distributies. Het gebruik ervan is eenvoudig, vooral voor de meest voorkomende toepassingen: het downloaden van webpagina’s of bestanden.

Gebruik gewoon de wget commando met de URL naar de webpagina of het externe bestand.

wget https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc

Een Word-document downloaden met wget

Het bestand wordt met de oorspronkelijke naam opgehaald en op uw computer opgeslagen.

Uitvoer van de wget-opdracht bij het downloaden van een Word-document

Om het bestand onder een nieuwe naam op te slaan, gebruikt u de -O (uitvoerdocument) optie.

wget -O word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc

Een bestand downloaden met wget en het opslaan onder een nieuwe naam

Het opgehaalde bestand wordt opgeslagen met de door ons gekozen naam.

Het gedownloade bestand wordt hernoemd naar de naam die op de opdrachtregel is opgegeven

Gebruik de -O optie wanneer u websites ophaalt. Als u dat doet, worden alle opgehaalde bestanden in één gevoegd.

Gebruik de om een ​​hele website op te halen -m (spiegel) optie en de URL van de homepage van de website. U zult ook willen gebruiken --page-requisites om ervoor te zorgen dat alle ondersteunende bestanden die nodig zijn om de webpagina’s correct weer te geven, ook worden gedownload. De --convert-links optie past koppelingen in het opgehaalde bestand aan om naar de juiste bestemmingen op uw lokale computer te verwijzen in plaats van naar externe locaties op de website.

VERWANT: Hoe wget te gebruiken, de ultieme downloadtool voor de opdrachtregel

Een snelle blik op cURL

cURL is een onafhankelijk open source project. Het is vooraf geïnstalleerd op Manjaro 21 en Fedora 36, ​​maar moest op Ubuntu 21.04 worden geïnstalleerd.

Dit is de opdracht om cURL op Ubuntu te installeren.

sudo apt install curl

cURL installeren op Ubuntu

Om hetzelfde bestand te downloaden als waarmee we deden: wget, en om het met dezelfde naam op te slaan, moeten we dit commando gebruiken. Merk op dat de -o (uitvoer) optie is kleine letters met cURL.

curl -o word-file-test.doc https://file-examples.com/wp-content/uploads/2017/02/file-sample_100kB.doc

Een bestand downloaden met cURL en het opslaan onder een nieuwe naam

Het bestand wordt voor ons gedownload. Tijdens het downloaden wordt een ASCII-voortgangsbalk weergegeven.

Het bestand wordt gedownload en opgeslagen met de naam die is opgegeven op de opdrachtregel

Om verbinding te maken met een FTP-server en een bestand te downloaden, gebruikt u de -u (gebruiker) optie en geef een gebruikersnaam en wachtwoordpaar op, zoals dit:

curl -o test.png -u demo:password ftp://test.rebex.net/pub/example/KeyGenerator.png

Een bestand downloaden van een FTP-server met cURL

Dit downloadt en hernoemt een bestand van een test-FTP-server.

Een succesvolle download van een FTP-server met cURL

VERWANT: Curl gebruiken om bestanden te downloaden vanaf de Linux-opdrachtregel

Er is geen beste

Het is onmogelijk om te antwoorden “Welke moet ik gebruiken” zonder te vragen “Wat probeer je te doen?”

Als je eenmaal begrijpt wat wget en cURL doet, zult u zich realiseren dat ze niet in concurrentie zijn. Ze voldoen niet aan dezelfde eis en ze proberen niet dezelfde baan te bieden.

Het downloaden van webpagina’s en websites is waar wget‘s superioriteit ligt. Als dat is wat je doet, gebruik dan wget. Voor al het andere, bijvoorbeeld uploaden of een van de vele andere protocollen gebruiken, gebruik cURL.

Leave a Comment