Android

Curl-Befehl unter Linux mit Beispielen

How to use CURL on Windows | How to test API with CURL | CURL Basics Step by Step

How to use CURL on Windows | How to test API with CURL | CURL Basics Step by Step

Inhaltsverzeichnis:

Anonim

curl ist ein Befehlszeilenprogramm zum Übertragen von Daten von oder zu einem Server, das für den Betrieb ohne Benutzerinteraktion entwickelt wurde. Mit curl können Sie Daten mithilfe eines der unterstützten Protokolle herunterladen oder hochladen, einschließlich HTTP, HTTPS, SCP, SFTP und FTP. curl bietet eine Reihe von Optionen, mit denen Sie die Übertragung fortsetzen, die Bandbreite begrenzen, die Proxy-Unterstützung, die Benutzerauthentifizierung und vieles mehr.

In diesem Tutorial zeigen wir Ihnen anhand von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten Curl-Optionen, wie Sie das Curl-Werkzeug verwenden.

Curl installieren

Das curl-Paket ist heute auf den meisten Linux-Distributionen vorinstalliert.

Um zu überprüfen, ob das Curl-Paket auf Ihrem System installiert ist, öffnen Sie Ihre Konsole, geben Sie curl und drücken Sie die Eingabetaste. Wenn Sie curl installiert haben, druckt das System curl: try 'curl --help' or 'curl --manual' for more information . Andernfalls wird der curl command not found .

Wenn curl nicht installiert ist, können Sie es einfach mit dem Paketmanager Ihrer Distribution installieren.

Installieren Sie Curl unter Ubuntu und Debian

sudo apt update sudo apt install curl

Installieren Sie Curl auf CentOS und Fedora

sudo yum install curl

So verwenden Sie Curl

Die Syntax für den Befehl curl lautet wie folgt:

curl

In der einfachsten Form zeigt curl beim Aufrufen ohne Option die angegebene Ressource für die Standardausgabe an.

Um beispielsweise die Homepage von example.com abzurufen, würden Sie Folgendes ausführen:

curl example.com

Der Befehl druckt den Quellcode der Homepage von example.com in Ihrem Terminalfenster.

Wenn kein Protokoll angegeben ist, versucht curl , das gewünschte Protokoll zu erraten, und standardmäßig wird HTTP .

Speichern Sie die Ausgabe in eine Datei

Verwenden Sie die Option -o oder -O um das Ergebnis des Befehls curl zu speichern.

Kleinbuchstaben -o speichert die Datei mit einem vordefinierten Dateinamen, der im folgenden Beispiel vue-v2.6.10.js :

curl -o vue-v2.6.10.js

Großbuchstaben -O speichert die Datei unter ihrem ursprünglichen Dateinamen:

curl -O

Laden Sie mehrere Dateien herunter

Verwenden Sie zum gleichzeitigen Herunterladen mehrerer Dateien die Option -O , gefolgt von der URL zu der Datei, die Sie herunterladen möchten.

Im folgenden Beispiel laden wir die Arch Linux- und Debian-ISO-Dateien herunter:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

Einen Download fortsetzen

Sie können den Download mit der Option -C - . Dies ist nützlich, wenn Ihre Verbindung während des Herunterladens einer großen Datei unterbrochen wird und Sie den Download nicht von Grund auf neu starten, sondern die vorherige fortsetzen können.

Wenn Sie beispielsweise die Ubuntu 18.04-ISO-Datei mit dem folgenden Befehl herunterladen:

curl -O

und plötzlich fällt Ihre Verbindung ab, mit der Sie den Download fortsetzen können:

curl -C - -O

Holen Sie sich die HTTP-Header einer URL

HTTP-Header sind durch Doppelpunkte getrennte Schlüssel-Wert-Paare, die Informationen wie Benutzerprogramm, Inhaltstyp und Codierung enthalten. Header werden mit der Anforderung oder der Antwort zwischen dem Client und dem Server übergeben.

Verwenden Sie die Option -I , um nur die HTTP-Header der angegebenen Ressource abzurufen:

curl -I --http2

Die Option -L weist curl an, jeder Umleitung zu folgen, bis das endgültige Ziel erreicht ist:

curl -L google.com

Ändern Sie den User-Agent

Beim Herunterladen einer Datei kann es vorkommen, dass der Remote-Server den Curl User-Agent blockiert oder je nach Besuchergerät und Browser unterschiedliche Inhalte zurückgibt.

Verwenden Sie in -A Situationen die Option -A , um einen anderen Browser zu emulieren.

Um beispielsweise Firefox 60 zu emulieren, würden Sie Folgendes verwenden:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

Geben Sie eine maximale Übertragungsrate an

Mit --limit-rate Option --limit-rate können Sie die Datenübertragungsrate begrenzen. Der Wert kann in Bytes, Kilobytes mit dem Suffix k , Megabytes mit dem Suffix m und Gigabytes mit dem Suffix g .

Im folgenden Beispiel lädt curl die Go-Binärdatei herunter und begrenzt die Download-Geschwindigkeit auf 1 MB:

curl --limit-rate 1m -O

Diese Option ist nützlich, um zu verhindern, dass das curl die gesamte verfügbare Bandbreite beansprucht.

Übertragen Sie Dateien per FTP

Um mit curl auf einen geschützten FTP-Server zuzugreifen, verwenden Sie die Option -u und geben Sie den Benutzernamen und das Kennwort wie folgt ein:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Nach dem Anmelden listet der Befehl alle Dateien und Verzeichnisse im Ausgangsverzeichnis des Benutzers auf.

Sie können eine einzelne Datei mit der folgenden Syntax vom FTP-Server herunterladen:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Verwenden Sie zum Hochladen einer Datei auf den FTP-Server -T gefolgt vom Namen der Datei, die Sie hochladen möchten:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Senden Sie Cookies

Manchmal müssen Sie möglicherweise eine HTTP-Anfrage mit bestimmten Cookies stellen, um auf eine Remote-Ressource zuzugreifen oder ein Problem zu beheben.

Standardmäßig werden beim Anfordern einer Ressource mit curl keine Cookies gesendet oder gespeichert.

Verwenden Sie zum Senden von Cookies an den Server die -b , gefolgt von einem Dateinamen, der die Cookies oder eine Zeichenfolge enthält.

Um beispielsweise die Oracle Java JDK jdk-10.0.2_linux-x64_bin.rpm Datei jdk-10.0.2_linux-x64_bin.rpm Sie ein Cookie mit dem Namen oraclelicense mit dem Wert a :

curl -L -b "oraclelicense=a" -O

Proxies verwenden

curl unterstützt verschiedene Arten von Proxys, einschließlich HTTP, HTTPS und SOCKS. Verwenden Sie zum Übertragen von Daten über einen Proxyserver die Option -x ( --proxy ), gefolgt von der Proxy-URL.

Mit dem folgenden Befehl wird die angegebene Ressource über einen Proxy auf 192.168.44.1 Port 8888 heruntergeladen:

curl -x 192.168.44.1:8888

Wenn der Proxyserver eine Authentifizierung erfordert, verwenden Sie die Option -U ( --proxy-user ), gefolgt von Benutzername und Kennwort, die durch einen Doppelpunkt ( user:password ) getrennt sind:

curl -U username:password -x 192.168.44.1:8888

Fazit

curl ist ein Befehlszeilenprogramm, mit dem Sie Daten von oder zu einem Remote-Host übertragen können. Es ist hilfreich bei der Fehlerbehebung, beim Herunterladen von Dateien und vielem mehr.

Die in diesem Lernprogramm gezeigten Beispiele sind einfach, zeigen jedoch die am häufigsten verwendeten curl Optionen und sollen Ihnen dabei helfen, die Funktionsweise des curl Befehls zu verstehen.

Weitere Informationen zu curl Sie auf der Seite Curl Documentation.

Curl-Terminal