cURL-Referenz

Nützliche cUrl-Befehle mit Parametern

Hier ist eine Zusammenfassung der nützlichsten cURL-Befehle mit ihren Parametern:

Eine Person mit einem cURL-Schild

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:

  1. Verbose-Ausgabe: curl -v https://example.com Dieser Befehl liefert detaillierte Informationen zur Anfrage und Antwort, einschließlich Header und Verbindungsdaten.

  2. Vollständiger Trace-Dump: curl --trace - https://example.com Dies gibt einen Hexdump aller eingehenden und ausgehenden Daten aus und bietet einen umfassenden Überblick über die gesamte Kommunikation.

  3. Trace mit Zeitstempeln: curl --trace - --trace-time https://example.com Dies fügt der Trace-Ausgabe Zeitstempel hinzu, was bei der Analyse zeitbezogener Probleme hilft.

  4. Nur Antwort-Header anzeigen: curl -s -o /dev/null -D - https://example.com Dieser Befehl zeigt nur die Antwort-Header an, was für eine schnelle Header-Analyse nützlich ist.

  5. 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.

  6. Pantheon Debugger verwenden: curl -I -H "Pantheon-Debug:1" https://example.com Dieser 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.

  7. HTTP/2-Protokoll erzwingen: curl --http2 https://example.com Dies stellt sicher, dass das HTTP/2-Protokoll verwendet wird, was mit -I kombiniert werden kann, um die HTTP/2-Unterstützung zu überprüfen.

  8. Debugging mit Netcat: In einem Terminal: nc -l 1234 In einem anderen: curl http://127.0.0.1:1234 Dies 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

  1. Dateien herunterladen: cURL kann Dateien von URLs herunterladen.
  2. Web-Scraping: cURL kann Webseiteninhalte zum Scraping abrufen.
  3. Webseiten testen: cURL ist nützlich, um zu prüfen, ob eine Webseite erreichbar ist und deren Inhalt abzurufen.

API-Interaktionen

  1. API-Anfragen senden: cURL unterstützt verschiedene HTTP-Methoden (GET, POST, PUT, DELETE) für die Interaktion mit APIs.
  2. 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

  1. Konnektivität prüfen: cURL kann verwendet werden, um Netzwerkverbindungen zu überprüfen und Probleme zu beheben.
  2. DNS testen: cURL ermöglicht das Erzwingen bestimmter DNS-Server zur Fehlerbehebung von DNS-bezogenen Problemen.
  3. Header inspizieren: cURL kann HTTP-Header anzeigen, was für das Debugging nützlich ist.

Datenübertragung

  1. FTP-Operationen: cURL unterstützt Dateiübertragungen mittels File Transfer Protocol (FTP).
  2. SMTP-Interaktionen: cURL kann verwendet werden, um E-Mails über das Simple Mail Transfer Protocol (SMTP) zu senden.

Sicherheit und Authentifizierung

  1. SSL-Verbindungen: cURL unterstützt sichere Verbindungen mittels SSL/TLS.
  2. Authentifizierung: cURL kann verschiedene Authentifizierungsmethoden handhaben, einschließlich Basic-Auth und Client-Zertifikaten.

Entwicklung und Debugging

  1. Verschiedene HTTP-Methoden simulieren: cURL ermöglicht Entwicklern, verschiedene HTTP-Methoden einfach zu testen.
  2. 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.