Lingua-e
Python

¿Qué significa ConnectionError?

← Errores

Un ConnectionError se lanza en Python cuando una operación de red falla al establecer o mantener una conexión. En la biblioteca estándar es una clase base para subclases de OSError relacionadas con la red. La librería requests reutiliza este nombre para fallos de conexión HTTP.

Por qué ocurre

  • El servidor de destino no está en ejecución o no es accesible en el host y puerto especificados.
  • Un firewall o política de red está bloqueando la conexión.
  • La URL tiene un error tipográfico, puerto incorrecto o protocolo equivocado (http vs https).
  • La conexión se estableció pero se interrumpió inesperadamente a mitad de la solicitud por un timeout o reinicio del servidor.

Ejemplos

Python

Código que causa el error

import requests

response = requests.get("http://localhost:8080/api/health")
print(response.status_code)

Error en la terminal

Traceback (most recent call last):
  ...
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8080):
Max retries exceeded with url: /api/health
(Caused by NewConnectionError: Failed to establish a new connection:
[Errno 111] Connection refused)

Cómo solucionarlo

Verifica que el servicio de destino esté en ejecución y sea accesible (intenta con curl o ping). Establece siempre un timeout al hacer solicitudes de red para evitar bloqueos indefinidos. Envuelve las llamadas de red en try/except e implementa una estrategia de reintento con retroceso exponencial para fallos transitorios.

Código corregido

import requests
from requests.exceptions import ConnectionError as RequestsConnectionError

try:
    response = requests.get("http://localhost:8080/api/health", timeout=5)
    print(response.status_code)
except RequestsConnectionError:
    print("Service is unavailable. Check that it is running.")

Errores relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis