cURL-Referenz
Nützliche cUrl-Befehle mit Parametern
Hier ist eine Zusammenfassung der nützlichsten cURL-Befehle mit ihren Parametern:

Das obige Bild wurde vom Flux - Text-zu-Bild-KI-Modell generiert.
cURL ist ein essentielles Befehlszeilentool für das Senden von HTTP-Anfragen und die Datenübertragung. Für eine umfassende Anleitung zu Entwicklertools, einschließlich Git, Docker, VS Code, Bash, Terraform, PostgreSQL, GitHub Actions und Linux-Paketmanagement, sehen Sie Entwicklertools: Der vollständige Leitfaden für moderne Entwicklungsworkflows.
Grundlegende cURL-Nutzung
- Datei herunterladen:
curl http://example.com/file.zip -o file.zip - Mehrere Dateien herunterladen:
curl -O URL1 -O URL2 - Weiterleitungen folgen:
curl -L http://example.com/file - Nur Header anzeigen:
curl -I http://example.com
Authentifizierung
- Basic-Authentifizierung:
curl -u benutzername:passwort http://example.com - .netrc-Datei verwenden:
curl --netrc-file .netrc http://example.com
HTTP-Methoden
- POST-Anfrage:
curl -X POST -d 'name=value' http://example.com - PUT-Anfrage:
curl -X PUT -d @datei http://example.com - Benutzerdefinierte Methode:
curl -X METHODE http://example.com
Header und Daten
- Benutzerdefinierten Header hinzufügen:
curl -H "X-Header: Wert" http://example.com - JSON-Daten senden:
curl -H "Content-Type: application/json" -d '{"key":"value"}' http://example.com - Formulardaten senden:
curl -F "key=value" -F "file=@lokale_datei" http://example.com
SSL/TLS-Optionen
- SSL-Zertifikatsprüfung ignorieren:
curl -k https://example.com - Client-Zertifikat verwenden:
curl --cert cert.pem --key key.pem https://example.com
Proxy und Netzwerk
- Proxy verwenden:
curl -x proxyssever.server.com:PORT http://example.com - Download-Geschwindigkeit begrenzen:
curl --limit-rate 1000B -O http://example.com/file
Ausgabe-Steuuerung
- Silent-Modus:
curl -s http://example.com - Verbose-Modus:
curl -v http://example.com - Ausgabe in Datei schreiben:
curl -o file.html http://example.com - Mit entferntem Dateinamen speichern:
curl -O http://example.com/file.zip
Sonstiges
- Unterbrochenen Download fortsetzen:
curl -C - -o partielle_datei.zip http://example.com/file.zip - Timeout festlegen:
curl --connect-timeout 10 http://example.com - Konfigurationsdatei verwenden:
curl -K config_datei http://example.com
Diese Referenzkarte deckt die am häufigsten verwendeten cURL-Befehle und ihre Parameter ab und bietet eine schnelle Referenz für verschiedene HTTP-Operationen und Datenübertragungen.
Erweiterte cURL-Befehle
Hier sind einige erweiterte cURL-Befehle zur Fehlerbehebung:
-
Verbose-Ausgabe:
curl -v https://example.comDieser Befehl liefert detaillierte Informationen zur Anfrage und Antwort, einschließlich Header und Verbindungsdaten. -
Vollständiger Trace-Dump:
curl --trace - https://example.comDies gibt einen Hexdump aller eingehenden und ausgehenden Daten aus und bietet einen umfassenden Überblick über die gesamte Kommunikation. -
Trace mit Zeitstempeln:
curl --trace - --trace-time https://example.comDies fügt der Trace-Ausgabe Zeitstempel hinzu, was bei der Analyse zeitbezogener Probleme hilft. -
Nur Antwort-Header anzeigen:
curl -s -o /dev/null -D - https://example.comDieser Befehl zeigt nur die Antwort-Header an, was für eine schnelle Header-Analyse nützlich ist. -
Nur Anfrage-Header anzeigen:
curl -v -s -o /dev/null --stderr - https://example.com | grep '^>'Dieser komplexe Befehl filtert nur die Anfrage-Header heraus, was hilfreich ist, um zu prüfen, was gesendet wird. -
Pantheon Debugger verwenden:
curl -I -H "Pantheon-Debug:1" https://example.comDieser Befehl nutzt den Pantheon-Debug-Header, um zusätzliche Informationen über eine Anfrage zu erhalten, was für auf Pantheon gehostete Sites nützlich ist. -
HTTP/2-Protokoll erzwingen:
curl --http2 https://example.comDies stellt sicher, dass das HTTP/2-Protokoll verwendet wird, was mit -I kombiniert werden kann, um die HTTP/2-Unterstützung zu überprüfen. -
Debugging mit Netcat: In einem Terminal:
nc -l 1234In einem anderen:curl http://127.0.0.1:1234Dies ermöglicht es Ihnen, genau zu sehen, was cURL sendet, was für das Debugging von Payloads nützlich ist.
Diese erweiterten Befehle bieten leistungsstarke Debugging-Fähigkeiten und ermöglichen Entwicklern, verschiedene Aspekte der HTTP-Kommunikation zu inspizieren und komplexe Probleme zu beheben.
Häufige cURL-Anwendungsfälle
cURL ist ein vielseitiges Befehlszeilentool mit zahlreichen Anwendungen. Hier sind einige der häufigsten Anwendungsfälle für cURL:
Web-Interaktionen
- Dateien herunterladen: cURL kann Dateien von URLs herunterladen.
- Web-Scraping: cURL kann Webseiteninhalte zum Scraping abrufen.
- Webseiten testen: cURL ist nützlich, um zu prüfen, ob eine Webseite erreichbar ist und deren Inhalt abzurufen.
API-Interaktionen
- API-Anfragen senden: cURL unterstützt verschiedene HTTP-Methoden (GET, POST, PUT, DELETE) für die Interaktion mit APIs.
- API-Endpunkte testen: cURL bietet eine schnelle Möglichkeit, API-Endpunkte zu testen und zu debuggen, ohne einen dedizierten API-Client zu benötigen.
Netzwerk-Fehlerbehebung
- Konnektivität prüfen: cURL kann verwendet werden, um Netzwerkverbindungen zu überprüfen und Probleme zu beheben.
- DNS testen: cURL ermöglicht das Erzwingen bestimmter DNS-Server zur Fehlerbehebung von DNS-bezogenen Problemen.
- Header inspizieren: cURL kann HTTP-Header anzeigen, was für das Debugging nützlich ist.
Datenübertragung
- FTP-Operationen: cURL unterstützt Dateiübertragungen mittels File Transfer Protocol (FTP).
- SMTP-Interaktionen: cURL kann verwendet werden, um E-Mails über das Simple Mail Transfer Protocol (SMTP) zu senden.
Sicherheit und Authentifizierung
- SSL-Verbindungen: cURL unterstützt sichere Verbindungen mittels SSL/TLS.
- Authentifizierung: cURL kann verschiedene Authentifizierungsmethoden handhaben, einschließlich Basic-Auth und Client-Zertifikaten.
Entwicklung und Debugging
- Verschiedene HTTP-Methoden simulieren: cURL ermöglicht Entwicklern, verschiedene HTTP-Methoden einfach zu testen.
- Verbose-Protokollierung: Der Verbose-Modus von cURL liefert detaillierte Informationen über den Anfrage-Antwort-Zyklus und unterstützt das Debugging.
Diese Anwendungsfälle demonstrieren die Flexibilität von cURL als Tool für Web-Interaktionen, API-Tests, Netzwerk-Fehlerbehebung und Entwicklungsaufgaben.
Website-Leistungsprüfung mit cURL
cURL ist ein leistungsstarkes Tool zur Überprüfung der Website-Leistung. Hier erfahren Sie, wie Sie es verwenden können, um verschiedene Aspekte der Ladezeit einer Website zu messen:
Grundlegender Leistungstest
Um eine einfache Messung der Ladezeit einer Website zu erhalten, verwenden Sie diesen Befehl:
curl -o /dev/null -s -w "Gesamtzeit: %{time_total}s\n" "https://example.com"
Dieser Befehl gibt die Gesamtzeit aus, die für das Abrufen der Website benötigt wurde[2].
Detaillierte Leistungsmetriken
Für eine umfassendere Analyse können Sie cURL verwenden, um mehrere Leistungsmetriken zu messen:
curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://example.com
Dieser Befehl liefert eine Aufschlüsselung der verschiedenen Phasen im Ladevorgang, einschließlich DNS-Lookup-Zeit, Verbindungszeit und Gesamtzeit[1].
Erweiterte Metriken
Für eine noch detailliertere Analyse können Sie zusätzliche Metriken einbeziehen:
curl -o /dev/null -w "HTTP-Version: %{http_version}\nSeitengröße: %{size_download} Bytes\nAntwortcode: %{response_code}\nDNS-Lookup: %{time_namelookup} sec\nVerbindungszeit: %{time_connect} sec\nZeit bis zum ersten Byte: %{time_starttransfer} sec\nGesamtzeit: %{time_total} sec\n" -s https://example.com
Dieser Befehl enthält Informationen zur HTTP-Version, Seitengröße und zum Antwortcode[3].
Benchmarks für mehrere Anfragen
Um die Konsistenz zu testen oder die Leistung über die Zeit zu überwachen, können Sie eine Schleife verwenden, um mehrere Anfragen zu stellen:
for i in {1..5}; do curl -o /dev/null -s -w "Anfrage $i Gesamtzeit: %{time_total}\n" https://example.com; done
Dies führt den Test fünfmal aus und zeigt die Gesamtzeit für jede Anfrage an[3].
Erstellung eines Leistungstest-Skripts
Sie können ein einfaches Bash-Skript erstellen, um diese Tests zu automatisieren und die Ergebnisse zu speichern:
#!/bin/bash
curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null URL > webspeedtest_"$(date)"
Ersetzen Sie “URL” durch die zu testende Website. Dieses Skript speichert die Ergebnisse in einer mit dem Datum versehenen Datei[5].
Durch die Verwendung dieser cURL-Befehle und Skripte können Sie die Website-Leistung effektiv messen und überwachen, was Ihnen hilft, potenzielle Engpässe zu identifizieren und Ladezeiten zu optimieren.