0
Je fais face à un bug étrange: urllib2 rattrape l'erreur 404, tout en ouvrant une URL valide. Je l'ai essayé dans le navigateur, l'URL peut être ouverte. Aussi, je passe user-agent.urllib2 rattrape l'erreur 404 alors que l'URL existe
import urllib.request as urllib2
uri = 'https://i.ytimg.com/vi/8Sii8G5CNvY/hqdefault.jpg?custom=true&w=196&h=110&stc=true&jpg444=true&jpgq=90&sp=68&sigh=OIIIAPOKNtx1OiZbAqdORlzl92g'
try:
req = urllib2.Request(uri, headers={ 'User-Agent': 'Mozilla/5.0' })
file = urllib2.urlopen(req)
except urllib2.HTTPError as err:
if err.code == 404:
return "Not Found"
Pourquoi j'obtiens cette erreur? Merci pour les réponses.
Eh bien, si vous testez le uri sur certains client HTTP avancé ou ouvrez la console de développement de votre navigateur Web, il vous jette une erreur 404. Ça semble fonctionner correctement. – fernandezr
Le serveur auquel vous essayez d'accéder agit bizarrement: il répond par 404 suivi du fichier réel. L'outil de ligne de commande 'wget' ne parvient pas à obtenir le document, mais' curl' l'obtient. Il n'y a rien de mal avec votre code, apparemment 'urllib2' n'a pas été conçu pour gérer des situations comme celle-ci. – DyZ
Mais comment puis-je le télécharger s'il s'agissait d'une erreur 404? Est-ce que je peux juste faire data = file.read (1024)? –