Neben wget ist curl ein Hauptwerkzeug in der Werkzeugkiste des Linux-Gurus beim Webscraping, beim Stöbern im Internet oder Intranet, beim Herunterladen von Dateien, beim Testen von Anwendungen und beim Tätigen von Webanrufen über ein CLI-Tool.
Curl wird von einer Entwickler-Community aktiv entwickelt und hat seine Webpräsenz unter https://curl.haxx.se/.
Ein kurzer Blick auf einige Feature-Highlights von Curl:
- Unterstützung für Konfigurationsdateien
- mehrere URLs in einer einzigen Befehlszeile
- Bereich „globbing“-Unterstützung: [0-13], eins, zwei, drei
- Upload mehrerer Dateien auf einer einzigen Befehlszeile
- benutzerdefinierte maximale Übertragungsrate
- FTP-Download, Authentifizierung
- Kerberos 5 (*14)
- aktiv/passiv über PORT, EPRT, PASV oder EPSV
- Informationen zur einzelnen Dateigröße (vergleiche mit HTTP HEAD)
- Upload über http-Proxy als HTTP PUT
- Lebenslauf herunterladen / hochladen
- alle Operationen können über einen http-Proxy getunnelt werden
- anpassbar, um das Änderungsdatum der Datei abzurufen
- SCP-Passwort- und Public-Key-Authentifizierung
- SFTP sowohl Passwort- als auch Public-Key-Authentifizierung
- SFTP mit benutzerdefinierten Befehlen, die vor/nach der Übertragung gesendet werden
- TELNET-Verbindungsverhandlung
- benutzerdefinierte Telnet-Optionen
- TELNET stdin/stdout I/O
- volle LDAP-URL-Unterstützung
- SMBv1 über TCP und SSL
- SMB-Download und -Upload
- SMB-Authentifizierung mit NTLMv1
- SMTP-Authentifizierung: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5, (*4) und Extern.
- E-Mails senden
- E-Mail-Authentifizierungsunterstützung für vertrauenswürdiges Server-zu-Server-Relaying
- SMTP mehrere Empfänger
- POP3-Authentifizierung: Klartext, APOP und SASL
- SASL-basierte Authentifizierung: Plain, Login, CRAM-MD5, Digest-MD5, NTLM (*9), Kerberos 5 (*4) und Extern.
- E-Mails auflisten
- E-Mails abrufen
Für weitere Funktionen
Neueste Curl-Version
Die neueste Version von curl ab Januar 2020 ist 7.68.0. Downloads werden auf der Curl-Site veröffentlicht und der Quellcode ist auf der Github-Seite des Projekts zu finden. Im Changelog finden Sie die neuesten Versionshinweise zu curl.
So erstellen und installieren Sie Curl aus der Quelle
Holen Sie sich zuerst den Quellcode für curl von der Download-Seite. Ich werde dies nicht vorführen, da Sie wahrscheinlich curl oder wget benötigen, um den Quellcode zu erhalten, und dies ist überflüssig, um in diesem Tutorial zu zeigen. Sehen Sie sich die heruntergeladene Software unten an:
Sie müssen auch installieren GCC und machen auf Ihrem Computer, bevor Sie beginnen, nehmen wir an, dass es Debian oder kompatibel ist:
$ apt-get install gcc $ apt-get install make
Entpacken Sie nun die Software mit dem tar-Befehl. Geben Sie dann das entpackte Verzeichnis ein und führen Sie configure und make und make install aus
$ tar xzvf curl-7.68.0.Teer.gz $ cd curl-7.68.0 $ ./configure $ make $ sudo make install
Wenn Sie diese Warnung erhalten, haben Sie möglicherweise 2 Versionen von curl installiert und müssen sicherstellen, dass Sie die gerade kompilierte libcurl mit der von Ihnen kompilierten curl-Version verwenden. Legen Sie also den LD_LIBRARY_PATH fest, um das Problem zu beheben:
WARNUNG: curl- und libcurl-Versionen stimmen nicht überein. Funktionalität kann beeinträchtigt sein. $ export LD_LIBRARY_PATH=/usr/local/lib
Jetzt können Sie sehen, dass curl und libcurl übereinstimmende Versionen haben und curl wie erwartet funktioniert.
So installieren Sie Curl unter Debian 10 oder Ubuntu 19.10
Curl ist standardmäßig auf den neuesten Versionen von Debian und Ubuntu installiert. Wenn Sie es aus irgendeinem Grund entfernt haben, können Sie es mit apt-get installieren
sudo apt-get install curl
So installieren Sie Curl auf CentOS 8
Curl wird standardmäßig auf den neuesten Versionen von CentoOS und Red Hat installiert. Wenn Sie es aus irgendeinem Grund entfernt haben, können Sie es mit yum installieren install
sudo yum installiere curl
Webseite mit Curl-Beispiel herunterladen
Laden wir eine einfache Webseite mit curl herunter download. Hier die Syntax und das Beispiel:
curl https://linuxhint.com/sitemap.xml > aus.Webseite Kopf raus.Website
Beispiel für mehrseitigen Download Download
Sie können Platzhalter und eine ausgefallene Syntax verwenden, um viele Dateien auf einmal herunterzuladen. Hier ist ein Beispiel zum Herunterladen der Sitemap-Seiten von Linuxhint, die einem regelmäßigen Muster folgen regular. Die Option -O speichert die Dateien unter den gleichen Namen wie die Original-Webseiten, aber lokal.
curl -O https://linuxhint.com/sitemap-pt-post-2019-[01-12].xml
Fazit
Curl wird meistens standardmäßig auf den meisten modernen Linux-Distributionen installiert, sodass der Zugriff darauf sehr einfach ist. Die Kompilierung oder Paketinstallation ist ebenfalls einfach. In den folgenden Ressourcen finden Sie weitere Informationen zu all den zahlreichen Funktionen von curl.
Weitere Curl-Ressourcen
- Curl-Manpage
- Kostenloses Curl-E-Book Alles Curl
- Verwenden Sie Curl in Bash-Skripten für die erweiterte Verwendung