Website-Suche

15 Tipps zur Verwendung des Befehls „Curl“ unter Linux


Mitte der 1990er Jahre, als das Internet noch in den Kinderschuhen steckte, startete ein schwedischer Programmierer namens Daniel Stenberg ein Projekt, aus dem sich schließlich das entwickelte, was wir heute als curl kennen.

Ursprünglich wollte er einen Bot entwickeln, der regelmäßig Wechselkurse von einer Webseite herunterlädt und IRC-Benutzern den Gegenwert schwedischer Kronen in US-Dollar zur Verfügung stellt.

Um es kurz zu machen: Das Projekt florierte und fügte im Laufe der Zeit mehrere Protokolle und Funktionen hinzu – und der Rest ist Geschichte. Lassen Sie uns jetzt mit beiden Beinen eintauchen und lernen, wie Sie Curl zum Übertragen von Daten und mehr unter Linux verwenden!

Wir haben die folgende Liste mit 15 Curl-Befehlen für Sie zusammengestellt.

1. Curl-Version anzeigen

Die Optionen -V oder --version geben nicht nur die Version zurück, sondern auch die unterstützten Protokolle und Funktionen in Ihrer aktuellen Version.

curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

2. Laden Sie eine Datei herunter

Wenn Sie eine Datei herunterladen möchten, können Sie curl mit den Optionen -O oder -o verwenden. Ersteres speichert die Datei im aktuellen Arbeitsverzeichnis unter demselben Namen wie am Remote-Speicherort, während letzteres Ihnen die Angabe eines anderen Dateinamens und/oder Speicherorts ermöglicht.

curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. Setzen Sie einen unterbrochenen Download fort

Wenn ein Download aus irgendeinem Grund unterbrochen wurde (zum Beispiel durch die Verwendung von Strg + c), können Sie ihn ganz einfach fortsetzen. Die Verwendung von -C – (Bindestrich C, Leerzeichen-Strich) weist Curl an, den Download dort fortzusetzen, wo er aufgehört hat.

curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. Laden Sie mehrere Dateien herunter

Mit dem folgenden Befehl laden Sie info.html und about.html von http://yoursite.com und http:/ herunter. /mysite.com jeweils auf einmal.

curl -O http://yoursite.com/info.html -O http://mysite.com/about.html 

5. Laden Sie URLs aus einer Datei herunter

Wenn Sie curl mit xargs kombinieren, können Sie Dateien aus einer Liste von URLs in einer Datei herunterladen.

xargs -n 1 curl -O < listurls.txt

6. Verwenden Sie einen Proxy mit oder ohne Authentifizierung

Wenn Sie sich hinter einem Proxyserver befinden, der Port 8080 unter proxy.yourdomain.com überwacht, tun Sie dies.

curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

Hier können Sie -U user:password überspringen, wenn Ihr Proxy keine Authentifizierung erfordert.

7. HTTP-Header abfragen

HTTP-Header ermöglichen es dem Remote-Webserver, zusammen mit der eigentlichen Anfrage zusätzliche Informationen über sich selbst zu senden. Dadurch erhält der Kunde Einzelheiten darüber, wie die Anfrage bearbeitet wird.

Um die HTTP-Header von einer Website abzufragen, gehen Sie wie folgt vor:

curl -I linux-console.net

Diese Informationen sind auch in den Entwicklertools Ihres Browsers verfügbar.

8. Stellen Sie eine POST-Anfrage mit Parametern

Der folgende Befehl sendet die Parameter firstName und lastName zusammen mit ihren entsprechenden Werten an https://yourdomain.com/info.php .

curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php

Mit diesem Tipp können Sie das Verhalten eines regulären HTML-Formulars simulieren.

9. Laden Sie Dateien von einem FTP-Server mit oder ohne Authentifizierung herunter

Wenn ein Remote-FTP-Server Verbindungen unter ftp://yourftpserver erwartet, lädt der folgende Befehl yourfile.tar.gz in das aktuelle Arbeitsverzeichnis herunter.

curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz 

Hier können Sie -u Benutzername:Passwort überspringen, wenn der FTP-Server anonyme Anmeldungen zulässt.

10. Laden Sie Dateien mit oder ohne Authentifizierung auf einen FTP-Server hoch

Um eine lokale Datei mit dem Namen mylocalfile.tar.gz mit Curl auf ftp://yourftpserver hochzuladen, gehen Sie wie folgt vor:

curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. Geben Sie den Benutzeragenten an

Der Benutzeragent ist Teil der Informationen, die zusammen mit einer HTTP-Anfrage gesendet werden. Dies gibt an, welchen Browser der Client für die Anfrage verwendet hat. Sehen wir uns an, was unsere aktuelle Curl-Version standardmäßig verwendet, und ändern wir es später in „Ich bin ein neuer Webbrowser“:

curl -I http://localhost --user-agent "I am a new web browser"

12. Speichern Sie Website-Cookies

Möchten Sie sehen, welche Cookies auf Ihren Computer heruntergeladen werden, wenn Sie zu https://www.cnn.com navigieren? Verwenden Sie den folgenden Befehl, um sie in cnncookies.txt zu speichern. Anschließend können Sie die Datei mit dem Befehl cat anzeigen.

curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. Website-Cookies senden

Sie können die im letzten Tipp abgerufenen Cookies bei nachfolgenden Anfragen an dieselbe Website verwenden.

curl --cookie cnncookies.txt https://www.cnn.com

14. Ändern Sie die Namensauflösung

Wenn Sie ein Webentwickler sind und eine lokale Version von yourdomain.com testen möchten, bevor Sie sie live schalten, können Sie Curl dazu veranlassen, http://www.yourdomain.com aufzulösen > zu Ihrem lokalen Host wie folgt:

curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

Daher weist die Abfrage an http://www.yourdomain.com Curl an, die Site von localhost anzufordern, anstatt DNS oder die Datei /etc/hosts zu verwenden.

15. Begrenzen Sie die Download-Rate

Um zu verhindern, dass Curl Ihre Bandbreite verschlingt, können Sie die Downloadrate wie folgt auf 100 KB/s begrenzen.

curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O
Zusammenfassung

In diesem Artikel haben wir einen kurzen Überblick über die Ursprünge von Curl gegeben und anhand von 15 praktischen Beispielen erklärt, wie man es verwendet.

Kennen Sie weitere Curl-Befehle, die wir in diesem Artikel möglicherweise übersehen haben? Teilen Sie sie gerne in den Kommentaren mit unserer Community! Wenn Sie Fragen haben, können Sie uns diese auch gerne mitteilen. Wir freuen uns von Ihnen zu hören!