Ich habe unten curl, das Daten aus einer Datei liest und auf den Server sendet, und alles funktioniert einwandfrei. Ich bekomme auch die Antwort erfolgreich zurück.
curl -v 'url' -H 'Akzeptierte Kodierung: gzip, deflate, br' -H 'Inhaltstyp: application/json' -H 'Akzeptiert: application/json' -H 'Verbindung: Keep-Alive' -H 'DNT: 1' -H 'Ursprung: URL' --data-binary "@/Users/david/Downloads/temp.txt" --compressed
Jetzt versuche ich nur, den Statuscode aus der obigen Curl-Anfrage statt der vollständigen Antwort zu erhalten. Ich habe es wie unten beschrieben versucht, aber es funktioniert nicht.
curl -v 'url' -H 'Akzeptierte Kodierung: gzip, deflate, br' -H 'Inhaltstyp: application/json' -H 'Akzeptiert: application/json' -H 'Verbindung: Keep-Alive' -H 'DNT: 1' -H 'Ursprung: URL' --data-binary "@/Users/david/Downloads/temp.txt" --compressed | head -n 1 | cut -d$' ' -f2
Ist an meinem obigen Befehl etwas falsch?
Antwort1
Entfernen -v
und hinzufügen--silent
, verwerfen Sie stdout mit--output /dev/null
und drucke den http-Status mit--write-out '%{http_code}'
(Zusamenfassend -s -o /dev/null -w '%{http_code}'
):
curl 'url' \
-H 'Accept-Encoding: gzip, deflate, br' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Connection: keep-alive' \
-H 'DNT: 1' \
-H 'Origin: url' \
--data-binary "@/Users/david/Downloads/temp.txt" \
--compressed \
--silent \
--output /dev/null \
--write-out '%{http_code}'