Solicitudes: trabajar con errores

Este capítulo discutirá cómo lidiar con los errores que surgen cuando se trabaja con la biblioteca de solicitudes Http. Siempre es una buena práctica tener los errores gestionados para todos los casos posibles.

Excepción de error

El módulo de solicitudes ofrece los siguientes tipos de excepción de error:

ConnectionError- Esto se elevará, si hay algún error de conexión. Por ejemplo, la red falló, error de DNS, por lo que la biblioteca de solicitudes generará la excepción ConnectionError.

Response.raise_for_status() - Según el código de estado, es decir, 401, 404, generará HTTPError para la URL solicitada.

HTTPError - Este error se generará por una respuesta inválida que viene a la solicitud realizada.

Timeout - Errores generados por un tiempo de espera para la URL solicitada.

TooManyRedirects - Si se cruza el límite de redirecciones máximas, se generará el error TooManyRedirects.

Ejemplo

Aquí hay un ejemplo de errores que se muestran para el tiempo de espera:

import requests
getdata = 
requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001)
print(getdata.text)

Salida

raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout:
HTTPSConnectionPool(host='jsonplaceholder.ty
picode.com', port=443): Max retries exceeded with url: /users (Caused
by Connect
TimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at
0x000000B02AD
E76A0>, 'Connection to jsonplaceholder.typicode.com timed out. (connect 
timeout = 0.001)'))