Als IT-engineer heb je verschillende taken uit te voeren, zoals het controleren van netwerkconnectiviteit, het downloaden van bestanden of het instellen van authenticaties. Meestal vereisen deze taken verschillende tools. Nou, niet met cURL. Het cURL Linux-hulpprogramma helpt bij de meeste dingen die een IT-engineer nodig heeft.
In deze tutorial leer je over elke opdrachtregelfunctie die cURL biedt.
Lees verder en verbeter je vaardigheden met cURL!
Vereisten
Deze tutorial omvat stapsgewijze demonstraties. Zorg ervoor dat je het volgende hebt om mee te doen:
- Een Ubuntu-machine – Deze tutorial gebruikt Ubuntu 18.04 met geïnstalleerde Apache.
- A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
- A remote Linux host – This tutorial uses an Ubuntu 18.04.5 LTS machine.
- A user account on the remote Linux SSH host with sudo permissions.
Installatie van cURL Linux (Ubuntu)
Net als elke andere tool moet je cURL eerst installeren op je machine voordat je er gebruik van kunt maken. Je kunt cURL installeren op elk op *nix gebaseerd besturingssysteem, maar het wordt het meest gebruikt op Ubuntu.
cURL is een opdrachtregelhulpprogramma waarmee je tal van taken kunt uitvoeren, zoals hieronder beschreven:
- Toon de status van verschillende netwerkconfiguraties van Windows-machines of Linux-servers
- Gegevens overbrengen naar of van servers
- Ondersteunt meerdere protocollen, zoals HTTP, FTP, IMAP, POP3, SCP en SFTP.
Om cURL te installeren op uw Ubuntu-machine:
1. Verbind met uw Ubuntu-host met uw favoriete SSH-client.
2. Voer de volgende commando’s uit, die geen uitvoer geven maar een map genaamd ~/install_curl_demo aanmaken en naar die map overschakelen. Deze map zal alle bronnen bevatten die u in deze handleiding zult maken.
3. Voer vervolgens het onderstaande apt update commando uit om de index van uw systeempakket bij te werken.
Dit commando zorgt ervoor dat de apt-pakketbeheerder de juiste bron kan vinden bij het downloaden van eventuele afhankelijke pakketten.

4. Voer nu het apt install commando hieronder uit om cURL op uw machine te installeren.

5. Voer tot slot het onderstaande commando uit om de geïnstalleerde versie van cURL op uw machine te controleren. Hiermee kunt u controleren of u cURL succesvol hebt geïnstalleerd.

Authenticatie van Websites
Verschillende protocollen die curl ondersteunt, zoals FILE, FTP, HTTP, HTTPS, POP3, SCP, SFTP, TELNET, enz., en u hoeft niet te werken met enige gebruikersinteractie.
Als u zich moet authenticeren bij een website met behulp van het curl-commando, moet u de gebruikersnaam en het wachtwoord specificeren in de URL zelf. Maar als u de gebruikersnaam instelt, zal cURL om een wachtwoord vragen.
Voer het onderstaande curl-commando uit, waarbij u [email protected]:wachtwoord vervangt door uw gebruikersnaam en wachtwoord en de website-URL door die van u om te authenticeren.

Bestanden downloaden met originele of gewijzigde naam
Bestanden of pakketten downloaden kan deel uitmaken van uw dagelijkse routine als beheerder. Zo ja, dan zal cURL u zeker van dienst zijn. Het curl
-commando, aangevuld met de opties -O
of -o
, stelt u in staat bestanden te downloaden met behoud van de originele naam of het instellen van een andere naam.
Voer de onderstaande commando’s uit om het NGINX-pakket te downloaden met de originele naam (-O
) als (*nginx-1.20.2.tar.gz*
) en met een andere naam (-o
) als *mytar.gz*
.

Voer nu het volgende commando uit om het NGINX-pakket met de naam mytar2.gz te downloaden. Maar deze keer ziet u alleen een voortgangsbalk in plaats van veel details in de uitvoer.

Tenslotte, voer de ls
opdracht hieronder uit om alle bestanden in de huidige map weer te geven.
Hieronder kunt u verifiëren dat de bestanden nginx-1.20.2.tar.gz, mytar.gz, en mytar2.gz bestaan.

Verbindingstime-out instellen
Snel ladende websites zijn altijd ideaal, en cURL heeft een manier om te testen hoe snel een gebruiker verbinding kan maken met uw website. Hoe? Door een verbindingsstime-out in te stellen, waarbij de curl
opdracht probeert verbinding te maken met een website binnen een bepaald tijdsbestek.
Het instellen van een verbindingsstime-out stelt u in staat om te bepalen hoelang een server nodig heeft om te reageren op een gegevensverzoek dat u doet.
Voer de onderstaande opdracht uit om te proberen verbinding te maken met de adamtheautomator.com website gedurende 20
seconden voordat het verzoek wordt afgebroken wegens time-out.
U kunt hieronder zien dat de -I
optie u in staat stelt om headers op te nemen in de informatie-uitvoer van de website.

Gegevens ophalen met behulp van het GET-verzoek
U hebt gezien dat het instellen van een verbindingsstime-out informatie geeft over een website in de sectie “Verbindingstime-out instellen”. Maar als die informatie niet genoeg is, overweeg dan om een GET-verzoek te versturen.
Voer de curl opdracht hieronder uit om een HTTP GET-verzoek (–get) te gebruiken en gegevens op te halen van de https://adamtheautomator.com website.
Hieronder zie je de daadwerkelijke bron van de website adamtheautomator.com.

Een POST-verzoek verzenden
In plaats van gegevens te ontvangen, kun je ook gegevens verzenden door een POST-verzoek te sturen met het curl
-commando. De parameter -d
stelt je in staat om de opgegeven gegevens te verzenden in een POST-verzoek naar de HTTP-server, net zoals een browser doet wanneer een gebruiker een HTML-formulier heeft ingevuld.
Voer het volgende curl
-commando uit om een POST-verzoek naar de site ptsv2.com
te sturen.

Navigeer nu naar https://reqbin.com/ in je webbrowser om te testen of het POST-verzoek succesvol was.
Hieronder zul je opmerken dat de Status (200 (OK)) aangeeft dat het verzoek succesvol is verzonden.

Woorddefinities zoeken
Wist je dat je cURL ook als woordenboek kunt gebruiken? Ja! Met cURL kun je woorddefinities opzoeken door het DICT-protocol te gebruiken. Veel IT-gerelateerde termen kunnen worden opgezocht met het DICT-protocol, zoals klok, Ubuntu, RDP, enzovoort.
De syntaxis van het curl
-commando met het DICT-protocol is als volgt:
Voer elk van de onderstaande commando’s uit om woorddefinities op te zoeken in het woordenboek dat beschikbaar is op de openbare website dict.org
.
Zoals je hieronder kunt zien, leverde de eerste woorddefinitiezoekopdracht voor ubuntu geen relevant antwoord op en gaf geen overeenkomst terug. Maar de tweede leverde een paar definities op voor het woord klok.

Testen van Website HTTP2 Protocol
De curl-opdracht is ongetwijfeld geschikt voor het downloaden, uploaden en authenticeren van websites. Maar nog een reden waarom curl een geweldige tool is, is dat je kunt controleren of een bepaalde URL het nieuwe HTTP/2-protocol ondersteunt.
Voer de volgende curl-opdracht uit om te verifiëren of de website https://adamtheautomator.com/ het HTTPS-protocol ondersteunt (–http2).
Je ziet een HTTP/2 200-reactie in de output zoals hieronder, wat aangeeft dat de site het HTTP2-protocol gebruikt.

Conclusie
cURL, hoewel een gratis tool, wordt geleverd met veel functies. En in deze tutorial heb je verschillende voorbeelden uit de eerste hand ervaren van het gebruik van cURL in Linux. Of het nu gaat om het downloaden van bestanden, het authenticeren van websites, het verzenden van POST- of GET-verzoeken, enzovoort, cURL zal je niet teleurstellen.
Waarom bouw je niet voort op deze nieuwe kennis? Misschien leren hoe bestanden over te zetten, en commando’s en scripts uit te voeren met de curl-opdracht? Of ontdek cURL API-commando’s?