Curl "write out" Wert des spezifischen Headers
Ich bin derzeit am schreiben eines bash-Skript und ich bin mit curl. Was ich will zu tun ist, bekommen eine bestimmte header einer Antwort.
Grundsätzlich möchte ich mit diesem Befehl arbeiten:
curl -I -w "%{etag}" "server/some/resource"
Leider scheint es so, als ob die Option-w, --write-out-option hat nur eine Reihe von Variablen unterstützt werden und können nicht drucken Sie alle header, ist Teil der Antwort. Muss ich analysieren, die curl-Ausgabe mich um den ETag-Wert oder gibt es einen Weg, um curl print den Wert eines bestimmten header?
Offensichtlich so etwas wie
curl -sSI "server/some/resource" | grep 'ETag:' | sed -r 's/.*"(.*)".*/\1/'
funktioniert der trick, aber es wäre schöner, wenn curl-filter den header.
InformationsquelleAutor der Frage slosd | 2012-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den angegebenen Variablen für "-w" sind nicht direkt mit dem http-header.
So wie es aussieht haben Sie zu "analysieren" Sie auf Ihre eigenen:
InformationsquelleAutor der Antwort rudi
Drucken Sie einen speziellen header mit einer einzelnen sed-oder awk-Befehl, aber HTTP-Header verwenden CRLF Zeilenenden.
Mit awk können Sie hinzufügen
FS=": "
wenn die Werte Leerzeichen enthalten:InformationsquelleAutor der Antwort user495470