Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

status code http from urllib.request.Request

+3 votes

Salut à tous,

j'utilise urllib.request.Request comme ceci:

  r = urllib.request.Request(url=self.URL_GET_TOKEN, data=json.dumps(body), headers=headers)

Et je voudrais vérifier si le status code http est différent de 200

if status_code !200:
    print " Failed !"

mais je ne vois pas comment récupérer l'info status_code retourné par urllib.request.Request.
Merci de votre aide.

demandé 17-Jun-2015 par FredWarning (228 points)

2 Réponses

+4 votes
 
Meilleure réponse

D'après la doc d'urllib ici. J'ai pas testé mais ça devrait cristalliser.

r = urllib.request.Request(url=self.URL_GET_TOKEN, data=json.dumps(body), headers=headers)
if r.getcode() == 200:
    print "ok!"
répondu 17-Jun-2015 par max (894 points)
sélectionné 17-Jun-2015 par FredWarning

Merci Max,
je pensais que getcode() n'était que pour urlopen()

De rien, si tu pense que ça répond bien à a question valide la réponse en cliquant sur la coche à gauche, ça servira pour les prochains ;)

pour l'instant j'ai utilisé "requests"
mais je valide ta réponse.
d'ailleurs j'ai posé une autre question :
http://indexerror.net/2065/unresolve-attribute-reference

si tu passes par là :D

Merci à toi

cdt

Tu peux aussi poster ta réponse et la valider si elle correspond mieux ;)

ok, je vais le passer en réponse

Si c'est une réponse, poste la en tant que réponse et non en commentaire ;)

+3 votes

En fait, j'ai fait ceci:

import requests
#...[skipped code]...
r = requests.post(url=self.URL_GET_TOKEN, data=json.dumps(payload), headers=headers)        
if r.status_code != 200:
    log.logger.error("Authentication failed")
    return None

du coup c'est ok aussi.

Merci à vous

répondu 18-Jun-2015 par FredWarning (228 points)
...