Mit CURL herunterladen der Datei-und view-Header und Statuscode
Schreibe ich ein Bash-script zum download von Bild-Dateien von Snapito's web page snapshot API. Die API zurückgeben kann, eine Vielzahl von Antworten angegeben, die von verschiedenen HTTP-Antwort-codes und/oder einige benutzerdefinierte Header. Mein Skript soll ausgeführt werden, wie eine automatisierte Cron-job, der zieht URLs aus einer MySQL-Datenbank und speichert die screenshots auf der lokalen Festplatte.
Ich bin mit curl
. Ich würde gerne diese 3 Dinge mit einem einzigen CURL-Befehl:
- Extrahieren, die das HTTP-Antwort-code
- Extrahieren der Header
- Speichern Sie die Datei lokal (wenn die Anfrage erfolgreich war)
Ich könnte dies tun, mit mehreren curl
Anfragen, aber ich wollen, minimieren Sie die Anzahl der Male, die ich getroffen Snapito Servern. Alle curl
Experten da draußen?
Oder wenn jemand einen Bash-script reagieren kann, um die volle dokumentiert Satz Snapito API-Antworten, das wäre genial. Hier ist Ihre API-Dokumentation.
Dank!
InformationsquelleAutor curtisdf | 2012-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die dump-Header-option:
curl -D /tmp/headers.txt http://server.com
-D
option. Hier ist, was ich jetzt verwende:curl -s -L -D /dev/stdout -o $IMAGE_FILE $SNAPITO_URL
Dank!InformationsquelleAutor
Verwenden
curl -i
(HTTP-header) - die Ausbeute der Header, gefolgt von einer Leerzeile, gefolgt von den Inhalt.Dann können Sie von split aus den Headern /Inhalten (oder verwenden Sie -D, um direkt speichern, um die Datei, wie oben vorgeschlagen).
Gibt es drei Optionen
-i
,-I
, und-D
-I
option, nicht-i
.NÖ. -Ich ist nur Kopfzeilen, -i-Header + content.
Ich sehe, du hast Recht. Mit
-i
hätte mir ein anderes problem: das Parsen der Ausgabe zu trennen, die Kopfzeilen aus der binären Bilddaten. Ich habe es funktioniert gut mit der-D
option an stdout (und gefangen genommen von einem$()
wrapper), und die-o
option zum speichern der Datei. Trotzdem danke! Ich werde daran denken, zu schauen-i
nächste mal.Du bist herzlich willkommen. Gute Frage!
InformationsquelleAutor