Session Lock
Session Lock
Section titled “Session Lock”Session Lock 確保你的 agent 在整個任務過程中使用相同的出口 IP 位址,維持與目標網站的 session 連續性。
許多網站以 IP 來追蹤 session。如果你的 IP 在任務中途改變:
- 購物車會被清空
- 登入 session 會過期
- 多頁爬取會被標記為可疑
- 帳號操作會觸發安全警示
proxy = client.get_proxy( target="amazon.com", session_lock=True # ← 啟用 session lock)
# 透過這個 proxy 的所有請求都使用相同 IPfor page in range(1, 50): requests.get(f"https://amazon.com/s?page={page}", proxies=proxy.to_dict()) # 每次都是同一個 IP ↑當你啟用 session_lock=True 時:
- HydraSkill 會從 pool 中指派一個專屬 IP
- 該 IP 專門保留給你的 session
- 在你的 session 仍有效期間,其他使用者無法取得該 IP
- 該 IP 會持續存在,直到你呼叫
proxy.release()或 session 逾時
Session 逾時
Section titled “Session 逾時”Session 會在閒置 30 分鐘後(沒有請求)自動過期。你可以自行設定:
proxy = client.get_proxy( target="amazon.com", session_lock=True, session_ttl=3600 # 1 小時逾時)Session Lock + Auto-Heal
Section titled “Session Lock + Auto-Heal”當 Session Lock 與 Auto-Heal 結合時,若你鎖定的 IP 被封鎖:
- HydraSkill 偵測到封鎖(403、CAPTCHA、connection reset)
- 自動從同一地區指派一個新 IP
- 透明地更新 session 綁定
- 你的下一個請求會透過新 IP 送出 —— 不需要改任何程式碼
Session 會不中斷地繼續。你的 agent 完全看不到這次失敗。
- 為多頁任務(分頁、結帳流程)啟用 Session Lock
- 對於 IP 一致性無關緊要的單次請求,則停用它
- 設定適當的
session_ttl,避免不必要地佔用 IP - 完成後呼叫
proxy.release(),將 IP 釋放回 pool