Es gibt mehrere Möglichkeiten, Daten im Linux-Terminal und curl
zu steuern und mit ihnen zu kommunizieren ist der beste Weg, das zu tun. curl
ist ein Befehlszeilentool, mit dem Sie Daten von oder zu einem Server übertragen können. Sie können den curl
verwenden Befehl zum Herunterladen und Hochladen von Daten mit einem der unterstützten Protokolle, darunter FTP, HTTP, SFTP, HTTPS und SCP. Curl verfügt über eine Reihe von Funktionen, darunter die Möglichkeit, die Bandbreite zu beschränken, Übertragungen fortzusetzen, Benutzerauthentifizierung, Unterstützung für Proxyserver und vieles mehr.
Nachfolgend finden Sie eine Liste der derzeit von curl
unterstützten Protokolle :
- FTP/FTPS
- Gopher
- HTTP
- HTTP/2
- SMTP/SMTPS
- IMAP/IMAPS
- KMU
- POP3/POP3S
- RTMP
- SCP
- SFTP
- RTSP
- LDAP/LDAPS
- Telnet und TFTP
- RTSP
Zu den zusätzlichen Funktionen gehören:
- Benutzer- und Passwortauthentifizierung
- Einfach
- Digest Plain
- NTLM
- CRAM-MD5
- Kerberos
- Verhandeln
- Cookies
- Proxy-Tunneling
- Dateiübertragungsvorgang fortsetzen
- SSL-Zertifikate
- Hochladen von HTTP- und HTTPS-Formularen
wget
und curl
werden oft verglichen, weil sich ihre Funktionalität teilweise überschneidet. Beide Tools können Inhalte aus dem Internet abrufen, aber wget hat mehr Funktionen wie Web Scraping, rekursive Downloads und ist benutzerfreundlicher. wget wird als bessere Option angesehen, wenn Sie nur Dateien im Terminal herunterladen möchten.
curl
lernen Befehlsgrundlagen helfen Ihnen beim Hoch- und Herunterladen von Dateien mit erweiterten HTTP-Authentifizierungsverfahren. Außerdem wget
unterstützt nur FTP und HTTP(S), während curl
unterstützt viel mehr Protokolle.
Das ist alles über curl
Befehl. Lassen Sie uns jetzt direkt zum Terminal springen.
Installieren von „curl“ unter Linux
Wenn Sie curl
nicht haben Installieren Sie es auf Ihrem Linux-System mit dem folgenden Befehl. Überspringen Sie andernfalls die Installationsschritte und fahren Sie mit den Beispielen fort.
sudo apt-get update
sudo apt-get install curl -y
Überprüfen Sie nun den curl
ist auf Ihrem System verfügbar, indem Sie die Version überprüfen:
curl --version
Beispiele für die Verwendung von „curl“
Mit curl
können wir viele coole Dinge tun . Sehen wir uns einige davon an.
Externe Server-IP abrufen
Es gibt eine erstaunliche Ressource im Internet, mit der Sie Ihre Internet-IP-Adresse abrufen können – https://ifconfig.me (benannt nach dem Ruhm des berühmten Linux-Dienstprogramms zur Netzwerkkonfiguration – ifconfig
). ).
Wenn Sie mit curl eine HTTP-Anforderung an diese Site gesendet haben, wird Ihre externe IP-Adresse im Terminal in Form der einfachen Zeichenfolge zurückgegeben:
curl https://ifconfig.me
Sie können dieses Ergebnis also einfach in die Bash-Variable einfügen:
MY_EXTERNAL_IP=$(curl -s https://ifconfig.me)
echo $MY_EXTERNAL_IP
Hier ist das Ergebnis:
Hier -s
Das Argument ermöglicht es, die Ausgabe des Curl-Download-Fortschritts zu vermeiden:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 12 100 12 0 0 181 0 --:--:-- --:--:-- --:--:-- 181
Wettervorhersage
Möchten Sie sich wie ein Hacker fühlen und die Wetterinformationen direkt im Terminal anzeigen? Sie können dies mit curl
tun !
curl http://wttr.in/LOCATION
Speichern der 'curl'-Ausgabe in einer Textdatei
Sie können die Ausgabe von curl
speichern Befehl in die angegebene Datei.
Hier ist ein Beispiel für das Speichern der JSON-API-Ausgabe (StarWars-Demo-API) in der Datei:
curl https://swapi.dev/api/planets/1/ -o Tatooine.json
curl
ist intelligent genug, um das Herunterladen von Binärdateien zu erkennen. Hier ist ein Beispiel für das Herunterladen einer der beliebtesten Open-Source-Infrastructure-as-Code-Verwaltungssoftware Terraform (erfahren Sie mehr über Terraform):
curl https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip -o terraform_0.15.0_linux_amd64.zip
Mehrere Dateien herunterladen
Sie können curl
verwenden um mehrere Dateien gleichzeitig herunterzuladen. Fügen Sie einfach -o
hinzu Argument so oft Sie brauchen.
curl -o https://example.com/files/file-1 -o file-2 https://example.com/files/file-2 -o file-3 https://example.com/files/file-3
Begrenzung der Downloadgeschwindigkeit
Ein weiteres nützliches Feature von curl
ist die Beschränkung der Datei-Download-Geschwindigkeit. Sie können dies tun, indem Sie den --limit-rate
verwenden Argument und Angabe der Geschwindigkeit:
curl --limit-rate 1M -O https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip
Die angegebene Geschwindigkeit wird in Bytes/Sekunde gemessen, sofern kein Suffix angehängt wird. Das Anhängen von „k“ oder „K“ zählt die Zahl als Kilobyte, „m“ oder M“ macht sie zu Megabyte, während „g“ oder „G“ sie zu Gigabyte macht.
URL-Liste wird heruntergeladen
In diesem Beispiel laden wir alle Dateien herunter, die in der Textdatei aufgeführt sind. Dazu müssen Sie eine Kombination aus xargs
verwenden mit curl
Befehle:
xargs -n 1 curl -O < urllists.txt
Hier ist eine Ausgabe:
Basisauthentifizierung
Sie können das -u
verwenden Argument zum Bereitstellen von Benutzername und Passwort für die grundlegende HTTP-Authentifizierung (Basisauthentifizierung):
curl -u username:password -O https://example.com/files/README
URL-Header abrufen
HTTP-Header sind durch Doppelpunkte getrennte Schlüssel-Wert-Paare, die Informationen wie den angeforderten Ressourceninhaltstyp, Benutzeragenten, Codierung usw. enthalten. Mit der Anfrage oder Antwort werden Header zwischen dem Client und dem Server übertragen. Verwenden Sie -I
, um die Header-Informationen einer beliebigen Website abzurufen Argument:
curl -I https://hands-on.cloud
Cookies verwenden
Bei nachfolgenden Anfragen an dieselbe Website müssen Sie möglicherweise Cookies verwenden.
Verwenden Sie den folgenden Befehl, um die vom Webserver empfangenen Cookies zu speichern:
curl -s -o /dev/null -c google_cookies.txt 'https://www.google.com'
Hier sind die Argumente:
-s
– stiller Modus, curl druckt keine Informationen zum Download-Fortschritt-o /dev/null
– Ausgabe der Webseite nicht auf dem Terminal drucken-c google_cookies.txt
– Cookie-Informationen in der Datei speichern
Verwenden Sie den folgenden Befehl, um Cookies zu verwenden, die Sie von der vorherigen Anfrage erhalten haben:
curl -b google_cookies.txt 'https://www.google.com'
HTTP/2-Unterstützung prüfen
Verwenden Sie das -I
, --http2
und -s
Optionen zusammen, um zu überprüfen, ob die angegebene Site HTTP/2-Header unterstützt:
curl -I --http2 -s https://hands-on.cloud/ | grep HTTP
Zusammenfassung
In diesem Artikel haben wir die am häufigsten verwendeten Beispiele für die Verwendung von curl
behandelt Befehl. Wir hoffen, dass dieser Artikel Ihnen den Einstieg in dieses leistungsstarke Dienstprogramm ermöglicht. Wenn Ihnen der Artikel gefällt, helfen Sie uns bitte, ihn in der Welt zu verbreiten!