Перейти к содержимому

Session Lock

Session Lock гарантирует, что ваш агент использует один и тот же исходящий IP-адрес на протяжении всей задачи, сохраняя непрерывность сессии с целевыми сайтами.

Многие сайты отслеживают сессии по IP. Если ваш IP меняется в середине задачи:

  • Корзины покупок очищаются
  • Сессии входа истекают
  • Многостраничный скрапинг помечается как подозрительный
  • Операции с аккаунтом вызывают предупреждения безопасности
proxy = client.get_proxy(
target="amazon.com",
session_lock=True # ← включает session lock
)
# Все запросы через этот прокси используют один и тот же IP
for page in range(1, 50):
requests.get(f"https://amazon.com/s?page={page}", proxies=proxy.to_dict())
# Один и тот же IP каждый раз ↑

Когда вы включаете session_lock=True:

  1. HydraSkill назначает выделенный IP из пула
  2. Этот IP резервируется исключительно для вашей сессии
  3. Ни один другой пользователь не может получить этот IP, пока ваша сессия активна
  4. IP сохраняется, пока вы не вызовете proxy.release() или сессия не истечёт по таймауту

Сессии автоматически истекают после 30 минут неактивности (отсутствие запросов). Это можно настроить:

proxy = client.get_proxy(
target="amazon.com",
session_lock=True,
session_ttl=3600 # таймаут 1 час
)

Когда Session Lock сочетается с Auto-Heal, если ваш зафиксированный IP блокируется:

  1. HydraSkill обнаруживает блокировку (403, CAPTCHA, сброс соединения)
  2. Автоматически назначает новый IP из того же региона
  3. Прозрачно обновляет привязку сессии
  4. Ваш следующий запрос идёт через новый IP — без изменений в коде

Сессия продолжается без прерываний. Ваш агент никогда не видит сбой.

  • Включайте Session Lock для многостраничных задач (пагинация, процессы оформления заказа)
  • Отключайте его для одиночных запросов, где постоянство IP не важно
  • Устанавливайте подходящий session_ttl, чтобы не удерживать IP без необходимости
  • Вызывайте proxy.release() по завершении, чтобы вернуть IP обратно в пул