HTTPlib.IncompleteRead Exception

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Ich downloade mit der HTTP-Lib Dateien herunter. Jedoch kommt ab und zu die Exception IncompleteRead. Woher kommt die? Hab nichts darüber in der Doku gefunden

Code: Alles auswählen

conn = httplib.HTTPConnection("files.xyz.de")
conn.request('GET',url,None,{'Referrer':"/index.php"})
r1 = conn.getresponse()
data = r1.read()
conn.close()
gruss
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi rayo,

ich würd mal die Rückmeldung (response) testen.

Code: Alles auswählen

conn = httplib.HTTPConnection("files.xyz.de")
conn.request('GET',url,None,{'Referrer':"/index.php"})
r1 = conn.getresponse()
if r1.reason == "OK":
    data = r1.read()
else:
    print "Fehler: %s" % r1.reason
conn.close() 

Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Danke für die Antwort. Leider ist reason und status immer OK oder 200.
Sind alles Zip-Dateien, aber daran sollte es ja nicht liegen.

Hat noch jemand eine Idee?

Gruss

*edit* Hab noch einen Text in einer Doku gefunden, vielleicht hilft das was, mir sagt dass nicht viel:
_safe_read(self, amt)
Read the number of bytes requested, compensating for partial reads.

Normally, we have a blocking socket, but a read() can be interrupted
by a signal (resulting in a partial read).

Note that we cannot distinguish between EOF and an interrupt when zero
bytes have been read. IncompleteRead() will be raised in this
situation.

This function should be used when <amt> bytes "should" be present for
reading. If the bytes are truly not available (due to EOF), then the
IncompleteRead exception can be used to detect the problem.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

aha, soviel ich da rauslese, tritt die Exception auf, um anzuzeigen, daß bei der Übertragung der Daten eine Unterbrechung aufgetreten ist, bzw. nicht die geforderte Anzahl an Bytes gelesen werden konnte.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Dann muss ich wohl davon ausgehen dass beim server was falsch ist.

Danke
Antworten