J'utilise la bibliothèque Requests et j'accède à un site Web pour en recueillir des données avec le code suivant:
r = requests.get(url)
Je souhaite ajouter un test d'erreur lorsqu'une URL incorrecte est saisie et qu'une erreur 404 est renvoyée. Si j'entre intentionnellement une URL invalide, lorsque je fais cela:
print r
J'ai compris:
<Response [404]>
ÉDITER:
Je veux savoir comment tester cela. Le type d'objet est toujours le même. Lorsque je fais r.content
ou r.text
, j'obtiens simplement le HTML d'une page 404 personnalisée.
python
python-requests
user1427661
la source
la source
Réponses:
Regardez l'
r.status_code
attribut :Démo:
Si vous souhaitez
requests
lever une exception pour les codes d'erreur (4xx ou 5xx), appelezr.raise_for_status()
:Vous pouvez également tester l'objet de réponse dans un contexte booléen; si le code d'état n'est pas un code d'erreur (4xx ou 5xx), il est considéré comme `` vrai '':
Si vous voulez être plus explicite, utilisez
if r.ok:
.la source
.get()
lieu d'appeler une fonction par la suite.