urllib2.URLError, genauere Fehlermeldung.

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
pythonulli
User
Beiträge: 13
Registriert: Donnerstag 21. August 2008, 16:09

Hallo Gruppe,

seit Monaten habe ich auf einem server in den USA ein python script laufen, welches deutsche https-Seiten aufruft und ausliest.
Dieses script funktionierte reibungslos, bis auf einmal folgende Fehlermeldung auftauchte:

urllib2.URLError: <urlopen error [Errno -2] Name or service not known>

Der server-Anbieter teilte mir auf Anfrage mit, dass nichts verändert worden sei. Seltsam ist auch, dass das script manchmal immer noch fehlerfrei durchläuft.
Lasse ich das script bei mir über den raspberrypi in Deutschland laufen, hat es keine Probleme.

Frage:
Habe ich über python die Möglichkeit, herauszufinden, was genau "Name or service not known" bedeutet? Damit meine ich python Code, der mir eine detaillierte Antwort des servers ausgibt. Oder kann es sein, dass der Anbieter in Deutschland die Anfragen aus den USA blockt?

Vielen Dank für eine Antwort

Hier ist der Fehlerausdruck etwas umfangreicher:

Code: Alles auswählen

   req = urllib2.Request(url, txdata, txheaders)
   f = urllib2.urlopen(req)
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 404, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 422, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 1222, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>
BlackJack

@pythonulli: Die Fehlermeldung bedeutet in der Regel das der Name oder die IP nicht aufgelöst werden konnte. Ich denke bis zum Server vom Anbieter kommt das gar nicht. Da könnte es höchstens sein das der Anbieter das auf DNS-Ebene blockiert, und da einer Anfrage aus den USA von Dir sagt es gäbe den Server nicht, den Du erreichen möchtest.
pythonulli
User
Beiträge: 13
Registriert: Donnerstag 21. August 2008, 16:09

Danke blackjack
Gruß pythonulli
Antworten