Vous ne devriez pas vérifier un code d'état après la capture URLError
, cette exception ne peut être soulevée dans des situations où il n'y a pas de code d'état HTTP disponible, par exemple lorsque vous » re obtenant la connexion a refusé des erreurs.
Utilisez HTTPError
pour vérifier les erreurs spécifiques HTTP, puis utilisez URLError
pour vérifier d'autres problèmes:
try:
urllib2.urlopen(url)
except urllib2.HTTPError, e:
print e.code
except urllib2.URLError, e:
print e.args
Bien sûr, vous aurez probablement envie de faire quelque chose de plus intelligent que l'impression que les codes d'erreur, mais vous avez l'idée.
Étrange. Pouvez-vous coller le code que vous utilisez pour ouvrir l'URL? –