CURL Linux Command: Leren aan de hand van voorbeelden

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:

  • A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
  • 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.

mkdir ~/install_curl_demo
cd ~/install_curl_demo

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.

sudo apt update 
Updating the Ubuntu machine with the latest packages

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

sudo apt install curl
Installing cURL on the Ubuntu machine

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.

curl --version
Checking cURL’s version installed

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.


curl -u [email protected]:password --basic <https://wordpress.com/posts/automateinfra.com> 
Authenticating user with password

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*.

# Downloadt het NGINX-pakket met de originele naam nginx-1.20.2.tar.gz
curl -O <http://nginx.org/download/nginx-1.20.2.tar.gz>
# Downloadt het NGINX-pakket met de nieuwe naam mytar.gz
curl -o mytar.gz <http://nginx.org/download/nginx-1.20.2.tar.gz>
Downloading the NGINX package

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.

curl -# -o mytar.gz <http://nginx.org/download/nginx-1.20.2.tar.gz>
Downloading the NGINX package but only showing a progress bar

Tenslotte, voer de ls opdracht hieronder uit om alle bestanden in de huidige map weer te geven.

ls

Hieronder kunt u verifiëren dat de bestanden nginx-1.20.2.tar.gz, mytar.gz, en mytar2.gz bestaan.

Verifying downloaded NGINX packages

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.

curl --connect-timeout 20 -I adamtheautomator.com

U kunt hieronder zien dat de -I optie u in staat stelt om headers op te nemen in de informatie-uitvoer van de website.

Connecting to a website with a connection timeout

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.

curl --get <https://adamtheautomator.com>

Hieronder zie je de daadwerkelijke bron van de website adamtheautomator.com.

Retrieving data using the Get request

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.

curl -d "name=curl" <https://ptsv2.com/t/hello>
Sending the POST request on a website

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.

Verifying the POST request

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:

curl [protocol:[dictionary_URL]:[word]

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.


# Zoek woorddefinities voor Ubuntu
curl dict://dict.org/d:ubuntu
# Zoek woorddefinities voor klok
curl dict://dict.org/d:clock

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.

Searching the word definition

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).

curl -I --http2 -s <https://adamtheautomator.com/> | grep HTTP

Je ziet een HTTP/2 200-reactie in de output zoals hieronder, wat aangeeft dat de site het HTTP2-protocol gebruikt.

Testing Website HTTP2 protocol using Curl Command

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?

Source:
https://adamtheautomator.com/curl-linux/