Sie nicht für einen Statuscode URLError
nach dem Fang überprüfen sollten, da diese Ausnahme in Situationen erhöht werden kann, wo es kein HTTP-Statuscode zur Verfügung, zum Beispiel, wenn Sie‘ Erneutes Erhalten der Verbindung verweigert Fehler.
Verwenden HTTPError
überprüfen für HTTP-spezifische Fehler und URLError
dann für andere Probleme zu überprüfen verwenden:
try:
urllib2.urlopen(url)
except urllib2.HTTPError, e:
print e.code
except urllib2.URLError, e:
print e.args
Natürlich werden Sie wahrscheinlich wollen etwas klüger tun, als nur die Fehlercodes drucken, aber du hast die Idee.
Seltsam. Können Sie den Code, den Sie zum Öffnen der URL verwenden, einfügen? –