N'demandes.les codes.ok comprennent un 304?
J'ai un programme qui utilise les demandes de module pour envoyer une requête get qui (correctement) répond avec un 304 "Non Modifié". Après avoir fait la demande, j'ai assurez-vous response.status_code == requests.codes.ok
, mais cette vérification échoue. Ne demandes pas envisager un 304 "ok"?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vérifier le réel codes dans la source.
ok
signifie 200 seulement.requests.codes.ok
n'est pas le même querequests.models.Response.ok
. Vous avez raison querequests.models.Response.ok
en effet de retourner la valeur true pour des valeurs de 200 <= status_code < 400, maisrequests.codes.ok
est juste la valeur 200. Vous pouvez voir par vous-même avecimport requests; print(requests.codes.ok)
Il y a une propriété appelée
ok
dans leResponse
objet qui renvoieTrue
si le code de statut n'est pas un4xx
ou un5xx
.De sorte que vous pouvez faire ce qui suit:
Le code de cette propriété est assez simple:
Vous pouvez vérifier la mise en œuvre des demandes.code d'état ici le code source.
L'application vous permet d'accéder à tous/tout type de status_codes comme suit:
En conclusion, vous pouvez accéder à toute requête-réponse, comme l'a démontré. Je suis sûr qu'il y a de meilleures manières, mais cela a fonctionné pour moi.