Linux curl-Befehl

Linux 命令大全Linux-Befehlsenzyklopädie


Was ist der curl-Befehl?

curl (Client URL) ist ein leistungsstarkes Befehlszeilenwerkzeug, das zum Übertragen von Daten in Linux/Unix-Systemen verwendet wird. Es unterstützt mehrere Protokolle, darunter HTTP, HTTPS, FTP, SFTP usw., und ist ein unverzichtbares Werkzeug für Entwickler und Systemadministratoren in ihrer täglichen Arbeit.

Hauptfunktionen von curl

  1. Unterstützung mehrerer Protokolle: Unterstützt nahezu alle gängigen Netzwerkprotokolle
  2. Betrieb ohne Schnittstelle: Reines Befehlszeilenwerkzeug, geeignet für Skripte und automatisierte Aufgaben
  3. Funktionsreich: Unterstützt Datei-Upload/-Download, Formularübermittlung, Cookie-Verarbeitung usw.
  4. Plattformübergreifend: Verfügbar unter Linux, macOS und Windows

Grundlegende Syntaxstruktur

Das grundlegende Syntaxformat des curl-Befehls ist wie folgt:

curl [options] [URL...]

Parameterbeschreibung

  • options: Verschiedene optionale Parameter zur Steuerung des Verhaltens von curl
  • URL: Eine oder mehrere URLs, auf die zugegriffen werden soll

Detaillierte Erklärung gängiger Optionen und Parameter

1. Grundlegende Anfragesteuerung

Option Beschreibung Beispiel
-X HTTP-Methode angeben curl -X POST https://example.com
-d POST-Daten senden curl -d "name=John" https://example.com
-G -d-Daten als GET-Parameter senden curl -G -d "q=keyword" https://search.com
-H Anfrage-Header hinzufügen curl -H "Content-Type: application/json" https://api.com

2. Ausgabesteuerung

Option Beschreibung Beispiel
-o Ausgabe in Datei speichern curl -o output.html https://example.com
-O Mit dem Remote-Dateinamen speichern curl -O https://example.com/file.zip
-s Silent-Modus (keinen Fortschritt anzeigen) curl -s https://api.com/data.json
-v Detaillierten Kommunikationsprozess anzeigen curl -v https://example.com

3. Authentifizierung und Sicherheit

Option Beschreibung Beispiel
-u Benutzername/Passwort-Authentifizierung curl -u user:pass https://secure.com
-k SSL-Zertifikatsüberprüfung ignorieren curl -k https://self-signed.com
--cacert CA-Zertifikat angeben curl --cacert cert.pem https://secure.com

4. Weitere praktische Optionen

Option Beschreibung Beispiel
-L Weiterleitungen folgen curl -L https://short.url
-I Nur Header-Informationen abrufen curl -I https://example.com
--limit-rate Übertragungsgeschwindigkeit begrenzen curl --limit-rate 100K https://largefile.com

Praktische Beispielanalyse

Beispiel 1: Webseiteninhalt abrufen

Beispiel

curl https://www.example.com

Dieser einfachste Befehl ruft den Inhalt der angegebenen URL ab und zeigt ihn im Terminal an.

Beispiel 2: Dateien herunterladen

Beispiel

curl -O https://example.com/files/document.pdf

-ODie Option speichert sie lokal unter dem Namen der Remote-Datei (document.pdf).

Beispiel 3: POST-Anfrage senden

Beispiel

curl -X POST -d "username=admin&password=123456" https://api.example.com/login

Dieser Befehl sendet den Benutzernamen und das Passwort an den Login-Endpunkt.

Beispiel 4: POST-Anfrage mit JSON-Daten

Beispiel

curl -X POST -H "Content-Type: application/json" \
-d '{"name":"John","age":30}' \
https://api.example.com/users

Beispiel 5: Cookie verwenden, um Sitzung beizubehalten

Beispiel

curl -c cookies.txt -b cookies.txt https://member.example.com
  • -cSpeichere das vom Server zurückgegebene Cookie
  • -bSende das gespeicherte Cookie

Erweiterte Verwendung

1. Datei-Upload

Beispiel

curl -F "file=@localfile.txt" https://upload.example.com

-FWird für Formularübermittlung vom Typ multipart/form-data verwendet, häufig für Datei-Uploads genutzt.

2. Antwortzeit der Website testen

Beispiel

curl -o /dev/null -s -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total: %{time_total}\n" https://example.com

Dieser Befehl gibt aus:

  • Verbindungszeit
  • Zeit bis zum ersten Byte (TTFB)
  • Gesamtzeit

3. Proxyserver verwenden

Beispiel

curl -x http://proxy.example.com:8080 https://target.com

-xDie Option gibt die Adresse und den Port des Proxyservers an.


Häufig gestellte Fragen

Q1: Wie behebt man curl-Zertifikatsüberprüfungsfehler?

Bei SSL-Zertifikatfehlern können Sie vorübergehend-kdie Option zum Ignorieren der Überprüfung (nicht für Produktionsumgebungen empfohlen) verwenden oder das CA-Zertifikat ordnungsgemäß konfigurieren:

Beispiel

curl --cacert /path/to/cert.pem https://secure-site.com

Q2: Wie zeigt man Anfrage- und Antwortheader an?

Verwenden Sie-voder-ioption:

Beispiel

curl -v https://example.com  # Ausführlichen Kommunikationsprozess anzeigen
curl -i https://example.com  # Nur Antwort-Header anzeigen

F3: Wie begrenzt man die Downloadgeschwindigkeit?

Verwenden Sie--limit-rateOption (Einheit kann K, M sein):

Beispiel

curl --limit-rate 200K -O https://example.com/largefile.iso

Praktische Übungen

  1. Versuchen Sie, öffentliche JSON-API-Daten herunterzuladen und in einer Datei zu speichern
  2. Verwenden Sie curl, um die Antwortzeit Ihres lokalen Entwicklungsservers zu testen
  3. Üben Sie das Senden einer GET-Anfrage mit einem Authentifizierungs-Header
  4. Versuchen Sie, eine Testdatei auf den kostenlosen HTTP-Bin-Dienst hochzuladen

Beispiel

# Übungsbeispiel
curl https://httpbin.org/get
curl -o test.json https://api.github.com/users/octocat
curl -X POST -F "file=@test.txt" https://httpbin.org/post

Zusammenfassung

curl ist ein leistungsstarkes Tool zur Netzwerk-Datenübertragung in Linux-Systemen. Nach dem Studium dieses Artikels sollten Sie Folgendes beherrschen:

  1. Grundlegende Syntax und gängige Optionen von curl
  2. Anwendungsbeispiele in verschiedenen gängigen Szenarien
  3. Erweiterte Funktionen und praktische Tipps
  4. Lösungen für häufige Probleme

Um weitere Details zu erfahren, können Sie die offizielle curl-Dokumentation prüfen oderman curlRufen Sie die Manpage auf. Wenn Sie praktische Erfahrung sammeln, werden Sie feststellen, dass curl weit mehr leisten kann als diese grundlegenden Funktionen.

Linux 命令大全Linux-Befehlsenzyklopädie

Weitere Erweiterungen