Сессии и ротация · глоссарий

Keep-alive и ротация

HTTP keep-alive позволяет клиенту отправлять несколько запросов по одному TCP-соединению. При работе через прокси с ротацией выходной адрес выбирается в момент открытия соединения, поэтому все запросы по этому соединению отправляются с одного IP. Клиенты с пулом соединений видят меньше смен IP, чем ожидают. Принудительное создание нового соединения для каждого запроса возвращает ротацию при каждом запросе.

Время чтения: 2 минуты Другие названия: повторное использование соединений, постоянные соединения Обновлено:

Симптомы#

  • Сервис проверки IP несколько раз подряд возвращает один адрес, хотя идентификатор сессии не задан.
  • Ресурс с лимитами по IP блокирует краулер, который якобы меняет адрес, но повторно использует пул из десяти соединений.

Настройки для разных клиентов#

КлиентКак получить новое соединение на каждый запрос
cURLкаждый отдельный запуск уже создаёт новое соединение
Python requestsrequests.get(...) без Session, или headers={"Connection": "close"}
Node.js fetch / undiciновый ProxyAgent на каждый запрос, или pipelining: 1 с keepAliveTimeout: 0
Go net/httpTransport.DisableKeepAlives = true
Браузерыуправлять этим нельзя; используйте закреплённую сессию и меняйте -sid- для ротации

Обратная задача#

Если для нескольких запросов нужен один выходной IP, keep-alive помогает сохранить его в пределах одного соединения. Однако полагаться только на это не стоит: используйте закреплённую сессию, чтобы адрес сохранялся и после сброса соединения.

Как это работает в HodlProxy#

Шлюзы HodlProxy выбирают выходной IP при открытии нового соединения и сохраняют его до закрытия этого соединения. Неактивные соединения закрываются через 60 секунд. Параметр -sid- явно закрепляет выбор IP и делает его независимым от соединения.

Начните, когда будете готовы

Проверьте на реальном запросе.

Создайте аккаунт, пополните баланс на $20 и отправьте запрос из краткого руководства к своему целевому ресурсу. Срок действия оплаченного трафика не ограничен.