typestar

Manejar errores de requests en Python

Atrapar las formas específicas en que puede fallar una llamada HTTP.

import requests

try:
    respuesta = requests.get("https://api.example.com/data", timeout=5)
    respuesta.raise_for_status()
    carga = respuesta.json()
except requests.Timeout:
    carga = {"error": "tiempo agotado"}
except requests.HTTPError as exc:
    carga = {"error": f"estado {exc.response.status_code}"}
except requests.RequestException:
    carga = {"error": "solicitud fallida"}

Cómo funciona

  1. Timeout salta cuando el servidor tarda demasiado.
  2. HTTPError lleva el código de estado que falló.
  3. RequestException es la base que atrapa todo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
367
Tokens
88
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 50 segundos.

Escribe este fragmento

Paso 4 de 5 en requests; paso 4 de 9 en Web scraping.

← Anterior Siguiente →