Startseite > Netzwerkverwaltung > curl

curl: Das vielseitige Tool für URL-basierte Datenübertragung/Tests

Ein leistungsstarkes Befehlszeilentool zum Senden und Empfangen von Daten über URLs. Es unterstützt verschiedene Protokolle wie HTTP/HTTPS, FTP/FTPS, SFTP und wird häufig für API-Tests, Datei-Uploads/-Downloads und Fehlerbehebung eingesetzt.

Was ist curl?

curl steht für 'Client URL' und ist ein CLI-Dienstprogramm, das Daten unter Verwendung der URL-Syntax sendet und empfängt. Es wird in einem breiten Spektrum von Bereichen eingesetzt, darunter Webentwicklung, API-Tests, CI/CD-Automatisierung und Betriebsfehlerbehebung.

Kernfunktionen

  • Vielfältige Protokolle: HTTP/HTTPS, FTP/FTPS, SFTP, LDAP, SMTP/SMTPS und mehr (abhängig von den Build-Optionen).
  • HTTP-Steuerung: Feinsteuerung von Methoden, Headern, Cookies, Komprimierung, HTTP/2, Weiterleitungen, Timeouts, Wiederholungen.
  • Upload/Download: Datei-Download (-o/-O), Fortsetzen (-C -), Formular-Upload (-F), Einzeldatei-Upload (-T).
  • Sicherheit: TLS-Zertifikatsprüfung (standardmäßig aktiv), Angabe von Vertrauensankern (--cacert), Client-Zertifikat (--cert/--key).
  • Automatisierungsfreundlich: Stille Ausgabe (-s), Beenden bei Fehler (-f), formatierte Ausgabe (-w), ideal für Skripte.

Wichtige Optionen (Shell)

Grundsätzlich wird eine Ziel-URL für die Anfrage benötigt. Es können mehrere URLs durch Leerzeichen getrennt oder aus einer Datei (@file) gelesen werden.

1. Grundlegende Anfrage und Download

2. HTTP-Methode und Datenübertragung

3. Header, Authentifizierung, Cookies

4. Ausgabe steuern/Zuverlässigkeit

5. Sicherheit/TLS & Proxy/Diagnose

6. Protokoll/Version

7. Hilfe/Version

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`curl` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele (Shell)

Hier sind häufig verwendete Anfragemuster aus der Praxis gesammelt.

Inhalt einer Webseite ausgeben

curl https://example.com

Standard-GET-Anfrage.

Datei herunterladen (Weiterleitungen verfolgen)

curl -O -L https://wordpress.org/latest.zip

-O für Originaldateinamen, -L für Weiterleitungsverfolgung.

JSON GET + Schön anzeigen

curl -s https://api.github.com/users/google | jq

Parsen/Lesbarkeit mit jq verbessern.

JSON POST

curl -X POST -H "Content-Type: application/json" -d '{"username":"test"}' https://api.example.com/users

Header und Body angeben.

Formular-Datei-Upload (multipart)

curl -F "upload_file=@./my-image.png" https://example.com/upload

Feldname=upload_file, Dateipfad mit @ angeben.

Bearer Token Authentifizierung

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" https://api.example.com/me

Verwendet den Authorization-Header.

Nur Antwort-Header prüfen

curl -I https://google.com

Nützlich für die Diagnose von Dienststatus/Cache.

Beenden bei Fehler + Stiller Modus

curl -sSf https://example.com/health

-sS -f Kombination: Skript-freundlich.

Timeout + Wiederholung

curl --connect-timeout 5 --max-time 20 --retry 3 --retry-all-errors https://example.com/api

Reaktion auf instabile Netzwerke.

Test mit spezifischer IP (--resolve)

curl --resolve 'api.example.com:443:203.0.113.10' https://api.example.com/status

DNS-Umgehungstest (SNI beibehalten).

Installation

Meistens ist es standardmäßig vorhanden; falls nicht, installieren Sie es über das Paketmanagement.

Debian/Ubuntu

sudo apt update && sudo apt install -y curl

RHEL/CentOS/Fedora

sudo dnf install -y curl

Arch Linux

sudo pacman -S --needed curl

Tipps & Hinweise

Nützliche Tipps

  • curl vs wget: wget ist stark beim Herunterladen großer Dateien/rekursiver Downloads, curl ist stark bei API-Interaktionen/Feinsteuerung.
  • Anführungszeichen: Bei JSON/Sonderzeichen in -d/-H wird empfohlen, sie in einfache Anführungszeichen zu setzen.
  • Komprimierte Antwort: Die Verwendung von --compressed führt zu einer automatischen Dekompression durch den Server, falls unterstützt, und reduziert das übertragene Datenvolumen.
  • Proxy: HTTP-Proxy wird mit -x, SOCKS5 mit --socks5 konfiguriert.
  • Sicherheitshinweis (-k): -k/--insecure nur für Entwicklung/Tests verwenden. Im Betrieb wird die Konfiguration von Vertrauensankern (--cacert) empfohlen.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.



Gleiche Kategorie Befehle