2016-06-03 9 views
0

Ich möchte neue Bilder von einer Website abrufen, die regelmäßig aktualisiert wird. Es gibt jedoch keine API für diese Site, daher versuche ich, sie per URL abzurufen, da die Bilder nummeriert sind. Die Art, wie ich dies getan habe, ist die App die Website beim ersten Start abfragen und die URLs durchlaufen, bis ich einen 404 bekomme. Dann speichere ich diese URL und beim nächsten Start durch, bis ich einen weiteren 404 usw. bekomme Ich weiß, dass das nicht ideal ist, aber ich baue nur einen Prototyp. Wie auch immer ...Überprüfen Sie, ob die Ressource bei NSURL VOR dem Herunterladen vorhanden ist.

Da dies Bilder sind, über die wir reden, kann ich sie nicht alle beim ersten Start herunterladen. Die Verschwendung von Bandbreite könnte Minuten oder sogar Stunden dauern ... Also brauche ich nur einen Weg, NSURLSession oder was auch immer zu verwenden, um den HTTP-Statuscode für ein bestimmtes Bild zu erhalten, ohne es tatsächlich herunterzuladen.

Antwort

2

Sie können dies tun, indem Sie die "HTTP-Header" erhalten.

This answer wird Ihnen helfen, wenn Sie Objective-C bequem portieren, um zu helfen. Ich kann Ihnen bei Bedarf helfen.

+0

Zwei Dinge: gibt es eine Möglichkeit, dies mit NSURLSession zu tun, oder muss ich NSURLConnection verwenden? Auch das Beispiel sendet die Anfrage, lädt das nicht die Ressource? – PopKernel

+0

Das ist der Unterschied zwischen "GET" und "HEAD" Anfragen. 'HEAD'-Anfragen holen die HTTP-Header, ohne den vollständigen Inhalt tatsächlich herunterzuladen. http://www.perlmonks.org/?node_id=117247 – Alexander

+1

Beachten Sie, dass viele Server HEAD nicht unterstützen, oder unterstützen Sie es nur durch einen GET - Test, was passiert, wenn Sie es versuchen ... – Wain

Verwandte Themen