Session Lock
Session Lock
섹션 제목: “Session Lock”Session Lock은 에이전트가 작업 전체에서 동일한 출구(exit) 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를 활성화하면:
- HydraSkill이 풀에서 전용 IP를 배정합니다
- 그 IP는 여러분의 세션에 독점적으로 예약됩니다
- 세션이 활성인 동안에는 다른 사용자가 그 IP를 받을 수 없습니다
proxy.release()를 호출하거나 세션이 타임아웃될 때까지 IP가 유지됩니다
세션 타임아웃
섹션 제목: “세션 타임아웃”세션은 30분간 비활성(요청 없음) 상태가 지속되면 자동으로 만료됩니다. 이 값은 설정할 수 있습니다.
proxy = client.get_proxy( target="amazon.com", session_lock=True, session_ttl=3600 # 1시간 타임아웃)Session Lock + Auto-Heal
섹션 제목: “Session Lock + Auto-Heal”Session Lock과 Auto-Heal을 함께 쓰면, 잠긴(locked) IP가 차단됐을 때:
- HydraSkill이 차단을 감지합니다 (403, CAPTCHA, 연결 리셋)
- 같은 지역에서 새 IP를 자동으로 배정합니다
- 세션 바인딩을 투명하게 갱신합니다
- 다음 요청은 새 IP를 통해 나갑니다 — 코드 변경은 필요 없습니다
세션은 끊김 없이 이어집니다. 에이전트는 실패를 전혀 인지하지 못합니다.
모범 사례
섹션 제목: “모범 사례”- 다중 페이지 작업(페이지네이션, 결제 흐름)에는 Session Lock을 활성화하세요
- IP 일관성이 중요하지 않은 단발성 요청에는 비활성화하세요
- IP를 불필요하게 점유하지 않도록
session_ttl을 적절히 설정하세요 - 작업이 끝나면
proxy.release()를 호출해 IP를 풀로 반환하세요