CURL Linux-Befehl: Lernen anhand von Beispielen

Als IT-Ingenieur gibt es verschiedene Aufgaben zu erledigen, wie z.B. die Überprüfung der Netzwerkverbindung, das Herunterladen von Dateien oder das Einrichten von Authentifizierungen. Normalerweise erfordern diese Aufgaben verschiedene Tools. Nun, nicht mit cURL. Das cURL Linux-Dienstprogramm hilft bei den meisten Dingen, die ein IT-Ingenieur benötigt.

In diesem Tutorial erfahren Sie alles über jede Befehlszeilenfunktion, die cURL bietet.

Lesen Sie weiter und verbessern Sie Ihre Fähigkeiten mit cURL!

Voraussetzungen

Dieses Tutorial umfasst schrittweise Demonstrationen. Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:

  • A Windows XP+ PC – This tutorial uses Windows 10 Enterprise edition.
  • A user account on the remote Linux SSH host with sudo permissions.

Installation von cURL Linux (Ubuntu)

Wie jedes andere Tool müssen Sie cURL zunächst auf Ihrem Rechner installieren, bevor Sie es nutzen können. Sie können cURL auf jedem *nix-basierten Betriebssystem installieren, aber es wird am häufigsten auf Ubuntu verwendet.

cURL ist ein Befehlszeilen-Dienstprogramm, mit dem Sie eine Vielzahl von Aufgaben ausführen können, wie folgt:

  • Zeigen Sie den Status verschiedener Netzwerkkonfigurationen von Windows-Maschinen oder Linux-Servern
  • Übertragen Sie Daten von oder zu Servern
  • Unterstützt mehrere Protokolle wie HTTP, FTP, IMAP, POP3, SCP und SFTP.

Um cURL auf Ihrem Ubuntu-Rechner zu installieren:

1. Verbinden Sie sich mit Ihrem Ubuntu-Host über Ihren bevorzugten SSH-Client.

2. Führen Sie die folgenden Befehle aus, die keine Ausgabe liefern, aber ein Verzeichnis namens ~/install_curl_demo erstellen und zu diesem Verzeichnis wechseln. Dieses Verzeichnis wird alle Ressourcen aufnehmen, die Sie in diesem Tutorial erstellen werden.

mkdir ~/install_curl_demo
cd ~/install_curl_demo

3. Führen Sie anschließend den Befehl apt update aus, um den Index Ihres Systempakets zu aktualisieren.

Dieser Befehl stellt sicher, dass der apt-Paketmanager die richtige Quelle finden kann, wenn er abhängige Pakete herunterlädt.

sudo apt update 
Updating the Ubuntu machine with the latest packages

4. Führen Sie jetzt den Befehl apt install unten aus, um cURL auf Ihrem Rechner zu installieren.

sudo apt install curl
Installing cURL on the Ubuntu machine

5. Führen Sie abschließend den folgenden Befehl aus, um die installierte Version von cURL auf Ihrem Rechner zu überprüfen. Dadurch wird sichergestellt, dass Sie cURL erfolgreich installiert haben.

curl --version
Checking cURL’s version installed

Authentifizierung von Websites

Verschiedene Protokolle werden von curl unterstützt, wie FILE, FTP, HTTP, HTTPS, POP3, SCP, SFTP, TELNET usw., und Sie müssen nicht mit einer Benutzerinteraktion arbeiten.

Wenn Sie sich über den curl-Befehl auf einer Website authentifizieren müssen, müssen Sie den Benutzer und das Passwort in der URL selbst angeben. Aber wenn Sie den Benutzernamen setzen, wird cURL nach einem Passwort fragen.

Führen Sie den unten stehenden curl-Befehl aus, ersetzen Sie [email protected]:password durch Ihren Benutzernamen und Ihr Passwort und die Website-URL durch Ihre eigene, um sich zu authentifizieren.


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

Das Herunterladen von Dateien mit Original- oder geändertem Namen

Das Herunterladen von Dateien oder Paketen kann Teil Ihrer täglichen Routine als Administrator sein. Wenn ja, wird Ihnen cURL sicherlich einen Gefallen tun. Der curl-Befehl, ergänzt um entweder die Optionen -O oder -o, ermöglicht es Ihnen, Dateien herunterzuladen und dabei den Originalnamen beizubehalten oder einen anderen Namen festzulegen.

Führen Sie die unten stehenden Befehle aus, um das NGINX-Paket mit dem Originalnamen (-O) als (*nginx-1.20.2.tar.gz*) und mit einem anderen Namen (-o) als *mytar.gz* herunterzuladen.

# Lädt das NGINX-Paket mit dem Originalnamen nginx-1.20.2.tar.gz herunter
curl -O <http://nginx.org/download/nginx-1.20.2.tar.gz>
# Lädt das NGINX-Paket mit dem neuen Namen mytar.gz herunter
curl -o mytar.gz <http://nginx.org/download/nginx-1.20.2.tar.gz>
Downloading the NGINX package

Führen Sie nun den folgenden Befehl aus, um das NGINX-Paket mit dem Namen mytar2.gz herunterzuladen. Diesmal sehen Sie jedoch nur eine Fortschrittsanzeige, anstatt viele Details in der Ausgabe zu sehen.

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

Zuletzt führen Sie den Befehl ls unten aus, um alle Dateien im aktuellen Verzeichnis aufzulisten.

ls

Unten können Sie überprüfen, dass die Dateien nginx-1.20.2.tar.gz, mytar.gz und mytar2.gz vorhanden sind.

Verifying downloaded NGINX packages

Einstellen des Verbindungstimeouts

Schnell ladende Websites sind immer ideal, und cURL hat eine Möglichkeit, zu testen, wie schnell ein Benutzer eine Verbindung zu Ihrer Website herstellen kann. Wie? Durch Festlegen eines Verbindungstimeouts, bei dem der curl-Befehl versucht, innerhalb eines bestimmten Zeitraums eine Verbindung zu einer Website herzustellen.

Das Festlegen eines Verbindungstimeouts ermöglicht es Ihnen festzustellen, wie lange ein Server benötigt, um auf eine von Ihnen gestellte Datenanforderung zu antworten.

Führen Sie den folgenden Befehl aus, um zu versuchen, eine Verbindung mit der Website adamtheautomator.com für 20 Sekunden herzustellen, bevor die Anforderung abläuft.

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

Sie können unten sehen, dass die Option -I es Ihnen ermöglicht, Header in die Informationsausgabe der Website einzuschließen.

Connecting to a website with a connection timeout

Abrufen von Daten mithilfe der GET-Anforderung

Sie haben gesehen, dass das Festlegen des Verbindungstimeouts Informationen über eine Website im Abschnitt „Einstellen des Verbindungstimeouts“ bereitstellt. Aber wenn diese Informationen nicht ausreichen, erwägen Sie das Senden einer GET-Anforderung.

Führen Sie den unten stehenden curl-Befehl aus, um eine HTTP GET-Anforderung (–get) zu verwenden und Daten von der Website https://adamtheautomator.com abzurufen.

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

Unten sehen Sie die tatsächliche Quelle der Website adamtheautomator.com.

Retrieving data using the Get request

Senden eines POST-Anforderung

Statt Daten abzurufen, können Sie auch Daten senden, indem Sie eine POST-Anfrage mit dem curl-Befehl senden. Der -d-Parameter ermöglicht es Ihnen, die angegebenen Daten in einer POST-Anfrage an den HTTP-Server zu senden, ähnlich wie ein Browser dies tut, wenn ein Benutzer ein HTML-Formular ausgefüllt hat.

Führen Sie den folgenden curl-Befehl aus, um eine POST-Anfrage an die Website ptsv2.com zu senden.

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

Jetzt gehen Sie zu https://reqbin.com/ in Ihrem Webbrowser, um zu überprüfen, ob die POST-Anfrage erfolgreich war.

Unten sehen Sie, dass der Status (200 (OK)) angezeigt wird, was darauf hinweist, dass die Anfrage erfolgreich gesendet wurde.

Verifying the POST request

Suchen von Wortdefinitionen

Wussten Sie, dass Sie cURL auch wie ein Wörterbuch verwenden können? Ja! cURL ermöglicht es Ihnen, Wortdefinitionen zu suchen, indem Sie das DICT-Protokoll verwenden. Viele IT-bezogene Begriffe können mithilfe des DICT-Protokolls gesucht werden, wie z. B. Uhr, Ubuntu, RDP usw.

Die Syntax des curl-Befehls unter Verwendung des DICT-Protokolls lautet wie folgt:

curl [protocol:[dictionary_URL]:[word]

Führen Sie jeden der folgenden Befehle aus, um Wortdefinitionen aus dem Wörterbuch auf der öffentlichen Website dict.org zu suchen.

# Suchen Sie Wortdefinitionen für Ubuntu
curl dict://dict.org/d:ubuntu
# Suchen Sie Wortdefinitionen für Uhr
curl dict://dict.org/d:clock

Wie Sie unten sehen können, konnte die erste Wortdefinitionssuche für Ubuntu keine relevante Antwort finden und gab keine Übereinstimmung zurück. Aber die zweite Suche ergab ein paar Definitionen für das Wort Uhr.

Searching the word definition

Testen der Website HTTP2-Protokoll

Der Curl-Befehl eignet sich zweifellos zum Herunterladen, Hochladen und Authentifizieren von Websites. Aber eine weitere Sache, die Curl zu einem großartigen Werkzeug macht, ist, dass Sie überprüfen können, ob eine bestimmte URL das neue HTTP/2-Protokoll unterstützt.

Führen Sie den folgenden Curl-Befehl aus, um zu überprüfen, ob die Website https://adamtheautomator.com/ das HTTPS-Protokoll (–http2) unterstützt.

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

Sie werden eine HTTP/2 200-Antwort in der Ausgabe sehen, wie die folgende, was bedeutet, dass die Seite das HTTP2-Protokoll verwendet.

Testing Website HTTP2 protocol using Curl Command

Schlussfolgerung

Curl, obwohl ein kostenloses Werkzeug, bietet viele Funktionen. Und in diesem Tutorial haben Sie verschiedene Beispiele für die Verwendung von Curl in Linux aus erster Hand erlebt. Ob Herunterladen von Dateien, Authentifizieren von Websites, Senden von POST- oder GET-Anfragen usw., Curl wird Sie nicht enttäuschen.

Warum nicht auf diesem neu gewonnenen Wissen aufbauen? Vielleicht lernen, wie man Dateien überträgt und Befehle und Skripte mit dem Curl-Befehl ausführt? Oder entdecken Sie Curl-API-Befehle?

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