Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Mein Script ruft mittels urllib2.urlopen() eine Adresse auf, ab und an kommt es vor das es ich ein urllib2.HTTPError, urllib2.URLError Fehlermeldung erhalte die weiter nicht tragisch ist nur optisch nicht schön.
Alles andere wird abgefangen nur die urllib2 Meldungen nicht.
Jemand ne Idee?
Zuletzt geändert von root_tux_linux am Dienstag 18. März 2008, 18:39, insgesamt 1-mal geändert.
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
File "/usr/lib/python2.5/urllib2.py", line 380, in open
response = meth(req, response)
File "/usr/lib/python2.5/urllib2.py", line 491, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.5/urllib2.py", line 418, in error
return self._call_chain(*args)
File "/usr/lib/python2.5/urllib2.py", line 353, in _call_chain
result = func(*args)
File "/usr/lib/python2.5/urllib2.py", line 499, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 503: Forwarding failure
Das wär die Fehlermeldung
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
bist du sicher, dass das komplette URL-Handling innerhalb des try-except-Blocks geschieht? Oder öffnest du vielleicht nur die URL darin und liest später außerhalb des try-except-Blocks? HTTP 503 bedeutet, dass der Service vorübergehend nicht zu erreichen ist (wegen Überlastung, z.B.). D.h. öffnen konntest du die URL schon, aber lesen geht momentan nicht.
bist du sicher, dass das komplette URL-Handling innerhalb des try-except-Blocks geschieht? Oder öffnest du vielleicht nur die URL darin und liest später außerhalb des try-except-Blocks? HTTP 503 bedeutet, dass der Service vorübergehend nicht zu erreichen ist (wegen Überlastung, z.B.). D.h. öffnen konntest du die URL schon, aber lesen geht momentan nicht.
Gruß,
Manuel
Eigentlich schon.
Die eine Funktion die ProxyHandler, build_opener und addheader übergibt steht ausserhalb des Try. Spielt aber doch keine Rolle wenn ich die Funktion erst im Try mittels proxy() aufrufe oder seh ich das falsch?
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
Lauf doch mal mit einem Debugger durch, vielleicht übersiehst du irgendwo einfach nur eine Kleinigkeit.
Und noch ein kurzer Tipp zu deinem Code: "global" ist wirklich böse und führt oftmals zu aüßerst kniffligen Fehlern! Gibt den Proxy-Handler und den Opener einfach als Rückgabewert aus der "proxy"-Funktion zurück:
Anscheinend wurde er durch Thread und Urllib2 verursacht
Werd das global mit return opener und proxy_handler ersetzen
Trotzdem danke
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###
root_tux_linux hat geschrieben:Anscheinend wurde er durch Thread und Urllib2 verursacht
Wenn du dort, wo ``CODE`` steht, einen neuen Thread startest und in dem wird die Exception ge`raise`t, dann wird die natürlich nicht von dem try-except-Block abgefangen..
Trundle hat geschrieben:Wenn du dort, wo ``CODE`` steht, einen neuen Thread startest und in dem wird die Exception ge`raise`t, dann wird die natürlich nicht von dem try-except-Block abgefangen..
Die Moral von der Geschicht': Pseudocode postet man nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Trundle hat geschrieben:Wenn du dort, wo ``CODE`` steht, einen neuen Thread startest und in dem wird die Exception ge`raise`t, dann wird die natürlich nicht von dem try-except-Block abgefangen..
Die Moral von der Geschicht': Pseudocode postet man nicht.
Ja, aber das ist mir peinlich meinen Noobiecode zu zeigen ^^
AMD Athlon 64 X2 6000+, ASUS M2N-SLI Deluxe, ASUS EN8600GTS Silent, 4GB Apacer DDR2 800Mhz | Gentoo Linux x86_64
AMD Sempron 2500+, MSI KT4, ASUS N6200, 2x 512MB Apacher DDR 400Mhz, Hauppauge PVR150 | Arch Linux i686
### Sorry for my bad english ###