2010-12-06 15 views
4

Ist es möglich, die Antwortgröße mit httplib2 zu begrenzen? Wenn zum Beispiel ein HTTP-Body über X-Bytes angezeigt wird, wird die Verbindung einfach geschlossen, ohne dass mehr Bandbreite verbraucht wird. Oder laden Sie vielleicht nur die ersten X Bytes einer Datei herunter.Begrenzung der Antwortgröße mit httplib2

+1

Request Library kann diesen Job einfach importieren Anfragen importieren = requests.get ('http://example.com/') .iter_content (1024) .next() –

Antwort

5

Angenommen, der Server sendet die Antworttextgröße im Feld Antwortkopfzeile Content-Length, Sie können es selbst tun.

Rufen Sie zunächst Http.request(method="HEAD"), um nur die Header und nicht den Körper abzurufen. Überprüfen Sie dann das Feld Content-Length der Antwort, um festzustellen, ob es unterhalb Ihres Schwellenwerts liegt. Wenn dies der Fall ist, machen Sie eine zweite Anfrage mit der richtigen GET oder POST Methode, um den Körper abzurufen; sonst einen Fehler erzeugen.

Wenn der Server Ihnen nicht die Inhaltslänge gibt (oder darüber lügt), sieht es nicht so aus, als ob es eine Möglichkeit gibt, den Download nach einer bestimmten Anzahl von Bytes zu unterbrechen.