Ir al contenido

Session Lock

Session Lock garantiza que tu agente use la misma dirección IP de salida durante toda una tarea, manteniendo la continuidad de sesión con los sitios web de destino.

Muchos sitios web rastrean las sesiones por IP. Si tu IP cambia a mitad de la tarea:

  • Los carritos de compra se vacían
  • Las sesiones de inicio de sesión expiran
  • El scraping de múltiples páginas se marca como sospechoso
  • Las operaciones de cuenta disparan alertas de seguridad
proxy = client.get_proxy(
target="amazon.com",
session_lock=True # ← habilita el session lock
)
# Todas las peticiones a través de este proxy usan la misma IP
for page in range(1, 50):
requests.get(f"https://amazon.com/s?page={page}", proxies=proxy.to_dict())
# La misma IP cada vez ↑

Cuando habilitas session_lock=True:

  1. HydraSkill asigna una IP dedicada del pool
  2. Esa IP queda reservada exclusivamente para tu sesión
  3. Ningún otro usuario puede obtener esa IP mientras tu sesión esté activa
  4. La IP persiste hasta que llamas a proxy.release() o la sesión expira

Las sesiones expiran automáticamente tras 30 minutos de inactividad (sin peticiones). Puedes configurarlo:

proxy = client.get_proxy(
target="amazon.com",
session_lock=True,
session_ttl=3600 # expiración de 1 hora
)

Cuando Session Lock se combina con Auto-Heal, si tu IP bloqueada queda inhabilitada:

  1. HydraSkill detecta el bloqueo (403, CAPTCHA, reinicio de conexión)
  2. Asigna automáticamente una nueva IP de la misma región
  3. Actualiza el enlace de la sesión de forma transparente
  4. Tu siguiente petición pasa por la nueva IP — sin cambios en el código

La sesión continúa sin interrupciones. Tu agente nunca ve el fallo.

  • Habilita Session Lock para tareas de múltiples páginas (paginación, flujos de checkout)
  • Deshabilítalo para peticiones puntuales donde la consistencia de IP no importa
  • Establece un session_ttl adecuado para evitar retener IPs innecesariamente
  • Llama a proxy.release() al terminar para devolver la IP al pool