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 :

The getcode() method returns the HTTP status code that was sent with the response, or None if the URL is no HTTP URL.
Mais a chaque fois que j'essaie d'utiliser cette fonction, ça me retourne :

AttributeError: addinfourl instance has no attribute 'getcode'
Voici un bout de mon code :

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
Effectivement sous IDLE, en utilisant la complétion, cette fonction n'existe pas dans la liste proposé quand je tape "connection.xx".

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!