urllib: problème de gestion des erreurs d'une authentification basic
Réponses:
2
Visites:
0
Up one level
Vous devez être un membre enregistré pour contribuer sur ce forum.
Inscrivez-vous maintenant
urllib: problème de gestion des erreurs d'une authentification basic
Posté par
LeYantibus
le
26/06/2010 21:42
Bonjour,
Je suis novice, et j'ai un souci avec la gestion des erreurs lorsque j'essai d'accèder à une page protégée par mot de passe avec la fonction 'urlopen'. Je m'explique, prenons un exemple simple. Admettons, par exemple, que nous possédions un routeur sur notre réseau local dont l'accès est protégé par un identifiant et un mot de passe (type htaccess) avec pour IP LAN '192.168.1.1', identifiant 'admin' et mot de passe 'admin'. Et que l'on veuille accéder à ses pages de configurations; on prossédera, normalement, ainsi : code: # identifiant, mdp et url pour accèder au routeur (non-erronés)
Si les informations (indentifiant, mot de passe et ip) sont corrects, tout ce passera bien. Le problème vient quand le mdp ou l'identifiant est erroné... On aurait pu croire qu'une exception HTTPError soit déclenchée avec l'attribut 'code' valant 401... (cela aurai été trop simple) Mais non! A la place on se tape une liste énorme d'erreur fini par l'exception RuntimeError !! Alors j'ai bien tenté de lire les script request.py et client.py pour comprendre... Mais malheureusement, je ne suis pas encore parvenu à les digérer. Si quelqu'un peut m'aider à comprendre pourquoi l'exception déclanchée n'a rien avoir avec une erreur HTTP 401 ça me serai très utile ! Merci d'avance. |
Re: urllib: problème de gestion des erreurs d'une authentification basic
Posté par
merwok
le
25/08/2010 05:14
Sans version ni traceback, c’est difficile
|
Re: urllib: problème de gestion des erreurs d'une authentification basic
Posté par
LeYantibus
le
01/10/2010 12:17
Re,
Désolé pour mon retour tardif. Ma question n'a toujours pas de réponse... J'ai bien ma petite idée sur le problème que j'ai évoqué; je pense qu'il faut installer l'opener après avoir vérifié les identifiants. Mais je trouve dommage qu'en installant un opener on ne puisse plus gérer les erreurs http... Imaginons que le mot de passe du site ou du routeur change pendant que l'on navigue dedans; on va se prendre une RuntimeError sans savoir de quoi il s'agit. Sinon, voici le traceback (Python 3.1.2, Win32) Ca commence par ça : code: Traceback (most recent call last):
Ensuite, ça boucle une bonne vingtaine de fois (j'ai pas compter non plus :p ) sur ça : code: File "C:\Python31\lib\urllib\request.py", line 355, in open
Pour enfin finir avec ça : code: File "C:\Python31\lib\urllib\request.py", line 349, in open
En attente d'une explication un peu plus technique que ma simple constatation, je précise aussi que je ne connais pas très bien le protocol HTTP. Merci d'avance. |




