Hallo Leute,
ich versuche mich mittels der httplib über https zu verbinden und möchte gerne diesen Fehler abfangen, hier der Traceback:
* Module httplib, line 794, in endheaders
* Module httplib, line 675, in _send_output
* Module httplib, line 642, in send
* Module httplib, line 1068, in connect
* Module socket, line 1, in connect
error: (111, 'Connection refused')
Nicht das ihr mich falsch versteht, der Fehler ist bewusst provoziert, ich möchte ihn gerne abfangen und weiß nicht mit welcher Exceptions Klasse ich arbeiten muss. Wisst Ihr weiter?
Danke
Babsi
Exceptions Klasse für httplib Connection Error finden?
-
- User
- Beiträge: 773
- Registriert: Mittwoch 5. November 2003, 18:06
- Wohnort: Schweiz
- Kontaktdaten:
Hi
Gruss
Code: Alles auswählen
try:
...
except socket.error, e:
print 'fehler',e
So behandelst Du jeden `socket.error`. Wenn Du speziell auf 111/Connection refused reagieren willst, dann musst Du Dir das Ausnahme-Objekt, im Beispiel an den Namen `e` gebunden genauer ansehen. Das hat Attribute. Wenn's nicht die 111 ist, dann einfach mit ``raise`` die Ausnahme erneut auslösen falls sich Code auf einer "höheren Ebene" verantwortlich fühlt.
sorry nochmal, ich hätte nochmal ne frage zum timeout. Im Beispiel des Links wird die Connection anders erstellt als bei mir, ich erstelle diese so:
wie kann ich hier das Timeout setzen?
danke
Babsi
Code: Alles auswählen
http = httplib.HTTPS(xml_constants("host"))
d = {}
# write header
http.putrequest(type, path)
danke
Babsi
danke ich teste es mal, folgendes ist noch zur Auswahl:
httplib.socket.setdefaulttimeout
und ich hab im netz noch das gefunden:
http://www.nongnu.org/bothans/pydoc/com ... ocket.html
aber ich kann das paket nicht importieren..
danke
babsi
httplib.socket.setdefaulttimeout
und ich hab im netz noch das gefunden:
http://www.nongnu.org/bothans/pydoc/com ... ocket.html
aber ich kann das paket nicht importieren..
danke
babsi
hallo,
also ich machs jetzt so und das funktioniert eigentlich:
Das Problem ist das ich daraufhin folgenden Fehler bekomme:
sslerror: The read operation timed out
Wo kommt der jetzt auf einmal her, wie kann ich den abfangen?
Lieben Dank,
Babsi
also ich machs jetzt so und das funktioniert eigentlich:
Code: Alles auswählen
httplib.socket.setdefaulttimeout(10.0)
sslerror: The read operation timed out
Wo kommt der jetzt auf einmal her, wie kann ich den abfangen?
Lieben Dank,
Babsi
-
- User
- Beiträge: 773
- Registriert: Mittwoch 5. November 2003, 18:06
- Wohnort: Schweiz
- Kontaktdaten:
Hi
Das kommt wenn das Timeout erreicht wurde ...
Gruss
Das kommt wenn das Timeout erreicht wurde ...
Code: Alles auswählen
try:
...
except socket.sslerror, e:
print 'sslerror',e
danke, kann das auch daran liegen?
https://sourceforge.net/tracker/?func=d ... up_id=5470
Danke
Babsi
https://sourceforge.net/tracker/?func=d ... up_id=5470
Danke
Babsi