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)'))