Non si dovrebbe verificare la presenza di un codice di stato dopo la cattura URLError
, dal momento che tale eccezione può essere sollevata in situazioni in cui non c'è nessun codice di stato HTTP a disposizione, ad esempio, quando si' riottenere errori di connessione rifiutati.
Usa HTTPError
per verificare la presenza di errori specifici HTTP, e quindi utilizzare URLError
per verificare la presenza di altri problemi:
try:
urllib2.urlopen(url)
except urllib2.HTTPError, e:
print e.code
except urllib2.URLError, e:
print e.args
Certo, probabilmente si vorrà fare qualcosa di più intelligente di una semplice stampa dei codici di errore, ma tu hai l'idea.
fonte
2010-08-12 08:07:02
Strano. Puoi incollare il codice che usi per aprire l'url? –