Bienvenue sur IndexError.

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

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

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 (892 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)
...