Bash:
Einen HTTP-Request senden

How to:

Curl-Befehl

curl https://api.example.com/data

Output:

{"name":"Beispiel","type":"JSON data"}

Mit HTTP-Methoden

# GET-Anfrage
curl -X GET https://api.example.com/data

# POST-Anfrage mit Payload
curl -X POST -d '{"key":"value"}' https://api.example.com/data

Antwort-Header anzeigen

curl -I https://api.example.com/data

HTTP-Statuscode auswerten

response=$(curl --write-out %{http_code} --silent --output /dev/null https://api.example.com/data)
echo $response

Output:

200

Deep Dive

Historischer Kontext

HTTP-Anfragen existieren seit Anfang der 1990er, als Tim Berners-Lee das HTTP initiierte. Curl kam 1997, ermöglicht einfache Befehlszeilenanfragen.

Alternativen

  • wget: ähnlich wie Curl, aber schlechter für Skripte.
  • HTTPie: menschfreundlichere HTTP-Cli, aber weniger verbreitet.
  • Powershell (Invoke-RestMethod): auf Windows.

Implementierungsdetails

  • -X: definiert die HTTP-Methode.
  • -d: sendet Daten als POST-Body.
  • -I: zeigt nur HTTP-Header an.
  • --write-out %{http_code}: gibt HTTP-Statuscode zurück.
  • --silent --output /dev/null: unterdrückt normalen Output.

See Also