Auto-Heal
Auto-Heal
Sección titulada «Auto-Heal»Auto-Heal es el sistema de conmutación automática de HydraSkill. Cuando una IP es bloqueada, baneada o limitada por tasa, HydraSkill cambia a una nueva IP de forma transparente: tu agente nunca gestiona errores de proxy.
Cómo funciona la detección
Sección titulada «Cómo funciona la detección»HydraSkill monitorea las respuestas en busca de señales de bloqueo:
| Señal | Detección |
|---|---|
| HTTP 403 Forbidden | Bloqueo directo |
| HTTP 429 Too Many Requests | Límite de tasa |
| Páginas con CAPTCHA | Análisis de contenido |
| Reinicio de conexión | Bloqueo a nivel de red |
| Respuesta vacía | Bloqueo sigiloso |
| Redirección a página de bloqueo | Coincidencia de patrones de URL |
Flujo de recuperación
Sección titulada «Flujo de recuperación»Petición del agente → Proxy → Sitio de destino ↓ (¡bloqueado!) HydraSkill detecta ↓ Nueva IP asignada ↓ Petición reintentada ↓El agente recibe ← Respuesta exitosaEl código de tu agente se mantiene simple:
# No se necesita try/except para errores de proxyresponse = requests.get(url, proxies=proxy.to_dict())# HydraSkill ya reintentó si la primera IP fue bloqueadaConfiguración
Sección titulada «Configuración»proxy = client.get_proxy( target="amazon.com", auto_heal=True, # habilitado por defecto max_retries=3, # reintentar hasta 3 veces retry_delay_ms=500, # esperar entre reintentos rotate_on_block=True, # obtener nueva IP al bloquearse)Presupuesto de reintentos
Sección titulada «Presupuesto de reintentos»Cada petición tiene un presupuesto de reintentos (por defecto: 3 intentos). Si todos los reintentos fallan, HydraSkill lanza un ProxyExhaustedError para que tu agente pueda manejar el caso límite:
from hydraskill.exceptions import ProxyExhaustedError
try: response = requests.get(url, proxies=proxy.to_dict())except ProxyExhaustedError: # Todos los intentos de reintento fallaron — el destino podría estar bloqueando por completo log.warning(f"Could not reach {url} after 3 proxy rotations")Métricas
Sección titulada «Métricas»Sigue la actividad de Auto-Heal en tu dashboard:
- Heal Rate — % de peticiones que necesitaron rotación de IP
- Avg Recovery Time — milisegundos para cambiar de IP
- Block Sources — qué destinos provocan más bloqueos
Deshabilitar Auto-Heal
Sección titulada «Deshabilitar Auto-Heal»Para depuración o cuando necesitas respuestas en bruto (incluidos los bloqueos):
proxy = client.get_proxy( target="example.com", auto_heal=False # obtener respuestas en bruto, incluidos los 403)