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.