Bonjour à tous,
Pour un projet je dois mettre en place un petit client HTTP en python. Ca marche plutôt bien pour le moment mais je n'arrive pas à faire une chose.
J'aimerai gérer les réponses du serveur en cas d'erreur (40x, 50x). Pour celà, la doc (http://docs.python.org/library/urllib.html#l2h-2985) m'indique que :
Mais a chaque fois que j'essaie d'utiliser cette fonction, ça me retourne :The getcode() method returns the HTTP status code that was sent with the response, or None if the URL is no HTTP URL.
Voici un bout de mon code :AttributeError: addinfourl instance has no attribute 'getcode'
Effectivement sous IDLE, en utilisant la complétion, cette fonction n'existe pas dans la liste proposé quand je tape "connection.xx".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 getParams = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) urlToOpen = SVR_ADDR + "?%s" connection = urllib.urlopen(urlToOpen % getParams) print connection.read() print connection.getCode() #marche pas
Pourquoi? Ai-je mal lu? Cette fonctionne est-elle apparue à la version 2.6?
Pour info j'utilise la version 2.5.4.
Sinon, y'aurait t-il une autre façon de faire (par exemple utiliser en parallèle httplib et tester le retour d'une connexion au même serveur)?
Merci d'avance!
Partager