J'aimerais pouvoir entrer un code de réponse du serveur et que Demandes me dise ce que le code signifie. Par exemple, code 200 -> ok
J'ai trouvé un lien vers le code source qui montre la structure du dictionnaire des codes et des descriptions. Je vois que les requêtes renverront un code de réponse pour une description donnée:
print requests.codes.processing # returns 102
print requests.codes.ok # returns 200
print requests.codes.not_found # returns 404
Mais pas l'inverse:
print requests.codes[200] # returns None
print requests.codes.viewkeys() # returns dict_keys([])
print requests.codes.keys() # returns []
Je pensais que ce serait une tâche de routine, mais je n'arrive pas à trouver une réponse à cette question dans la recherche en ligne ou dans le documentation .
Une possibilité:
>>> import requests
>>> requests.status_codes._codes[200]
('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '\xe2\x9c\x93')
La première valeur du tuple est utilisée comme clé de code conventionnelle.
Sinon, dans le cas de Python 2.x, vous pouvez utiliser httplib.responses
:
>>> import httplib
>>> httplib.responses[200]
'OK'
>>> httplib.responses[404]
'Not Found'
Dans Python 3.x, utilisez http
module :
In [1]: from http.client import responses
In [2]: responses[200]
Out[2]: 'OK'
In [3]: responses[404]
Out[3]: 'Not Found'
requests.status_codes.codes.OK
fonctionne bien et le rend plus lisible dans mon code d'application
Notez que dans code source : le code requests.status_codes.codes est de type LookupDict qui remplace la méthode getitem
Vous pouvez voir toutes les clés supportées avec - dir(requests.status_codes.codes)
j’aime utiliser l’énumération suivante du plugin flask-api from flask_api import status
où j’obtiens une version plus descriptive des codes d’état HTTP comme dans -
status.HTTP_200_OK