Skip to content

curl-Flags erklärt

Die curl-Flags für den Alltag, nach Aufgabe gruppiert: die Anfrage formen, Header setzen, authentifizieren, eine Identität angeben, die Ausgabe steuern, Weiterleitungen folgen, die Verbindung optimieren und debuggen. Jede Zeile verbindet das Flag mit einem realistischen Aufruf.

curl sendet eine HTTP-Anfrage und gibt den Antwortkörper aus. Die meiste Kraft steckt in den Flags: Sie wählen die Methode, hängen Header und Daten an, übernehmen die Authentifizierung und bestimmen, was ausgegeben wird. Die Langform steht, wo sie klarer ist; die Kurzform ist der Einzelbuchstabe. Setze URLs in Anführungszeichen, damit die Shell den Query-String nicht verschluckt.

Nachschlagetabelle · 54 Einträge
54 of 54 rows
Aufbau der Anfrage
Setzt die HTTP-Methode.curl -X POST https://api.test
Fügt einen Anfrage-Header hinzu.curl -H "Accept: application/json" URL
Sendet einen Body (setzt POST und einen Standard-Content-Type).curl -d "name=Ada" URL
Hängt -d-Werte als Query-Parameter an ein GET an.curl -G -d "q=hi" URL
Sendet Multipart-Formulardaten (Datei-Uploads).curl -F "file=@photo.png" URL
Sendet Formulardaten mit angewandter URL-Kodierung.curl --data-urlencode "name=Ada Lovelace" URL
Lädt eine Datei mit PUT hoch.curl -T big.zip URL
Hängt einen Upload an die entfernte Datei an, statt sie zu ersetzen.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON & APIs
Sendet JSON mit dem korrekten Content-Type.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Sendet den Inhalt einer Datei als Body.curl -d @body.json URL
Sendet JSON, ohne die Header von Hand zu setzen (curl 7.82+).curl --json '{"a":1}' URL
Authentifizierung
HTTP-Basic-Auth mit Benutzer und Passwort.curl -u ada:s3cr3t URL
Sendet ein OAuth-Bearer-Token.curl --oauth2-bearer TOKEN URL
Sendet ein beliebiges Token-Schema von Hand.curl -H "Authorization: Bearer TOKEN" URL
Zeigt ein Client-Zertifikat und seinen Schlüssel für Mutual TLS.curl --cert client.pem --key key.pem URL
Prüft den Server gegen eine einzige CA-Bundle-Datei.curl --cacert ca.pem URL
Prüft den Server gegen ein Verzeichnis von CAs.curl --capath /etc/ssl/certs URL
Sendet die Anfrage über einen Proxy.curl -x http://proxy.test:8080 URL
Überspringt die TLS-Prüfung nur für den Proxy-Hop.curl -x https://proxy.test:8443 --proxy-insecure URL
Verlangt TLS 1.3 als Mindestversion.curl --tlsv1.3 URL
Identität
Sendet eine eigene User-Agent-Zeichenkette.curl -A "Mozilla/5.0" URL
Sendet einen Referer-Header.curl -e https://example.com/page URL
Sendet Cookies mit der Anfrage.curl -b "session=abc123" URL
Speichert Antwort-Cookies in einer Datei.curl -c cookies.txt URL
Ausgabe
Schreibt den Body in eine Datei.curl -o page.html URL
Speichert den Body unter dem entfernten Dateinamen.curl -O https://site/file.tgz
Gibt Antwort-Header über dem Body aus.curl -i URL
Holt nur Header (sendet HEAD).curl -I URL
Blendet Fortschrittsanzeige und Fehler aus.curl -s URL
Gibt nach dem Body eine Formatzeichenkette aus (Timing, Status).curl -w "%{http_code}\n" -o /dev/null URL
Beendet bei HTTP-Fehlern mit Exit-Code ungleich null und überspringt den Fehler-Body.curl -f URL
Beendet bei HTTP-Fehlern mit Exit-Code ungleich null, gibt den Body aber trotzdem aus.curl --fail-with-body URL
Benennt die gespeicherte Datei nach dem Content-Disposition-Header.curl -OJ URL
Setzt eine unterbrochene Übertragung an der Abbruchstelle fort.curl -C - -O URL
Zeigt einen Fortschrittsbalken statt der Standardanzeige.curl -# -O URL
Gibt Fehler auch im stillen Modus aus.curl -sS URL
Schreibt die Antwort-Header in eine Datei.curl -D headers.txt URL
Fordert eine komprimierte Antwort an und dekodiert sie.curl --compressed URL
Erstellt fehlende Verzeichnisse im -o-Pfad.curl -o cache/api/data.json --create-dirs URL
Weiterleitungen & Verbindung
Folgt 3xx-Weiterleitungen.curl -L URL
Maximale Sekunden Wartezeit für den TCP-Connect.curl --connect-timeout 5 URL
Maximale Sekunden für die gesamte Anfrage.curl --max-time 30 URL
Überspringt die TLS-Zertifikatsprüfung.curl -k https://self-signed.test
Wiederholt vorübergehende Fehler bis zu N Mal.curl --retry 3 URL
Wiederholt bei jedem Fehler, nicht nur bei vorübergehenden.curl --retry 3 --retry-all-errors URL
Erzwingt die Verbindung über IPv4 oder IPv6.curl -4 URL
Ordnet Host und Port einer Adresse zu, ohne DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Bindet die Übertragung an ein Netzwerkinterface oder eine Adresse.curl --interface eth0 URL
Überträgt mehrere URLs gleichzeitig.curl -Z URL1 URL2
Nutzt HTTP/2 oder HTTP/3 für die Übertragung.curl --http3 URL
Gibt den Body beim Eintreffen aus, statt ihn zu puffern.curl -N URL
Liest weitere Flags aus einer Konfigurationsdatei.curl -K flags.cfg URL
Debuggen
Gibt den kompletten Anfrage- und Antwort-Austausch aus.curl -v URL
Hex-Dump von allem Gesendeten und Empfangenen.curl --trace - URL