Session Lock
Session Lock
Section titled “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 を有効にすると:
- HydraSkill がプールから専用の IP を割り当てます
- その IP は あなたのセッション専用に予約 されます
- セッションがアクティブな間、他のユーザーはその IP を取得できません
proxy.release()を呼ぶか、セッションがタイムアウトするまで IP は維持されます
セッションタイムアウト
Section titled “セッションタイムアウト”セッションは 無操作 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、接続リセット)
- 同じ地域から 新しい IP を自動的に割り当てます
- セッションのバインディングを透過的に更新します
- 次のリクエストは新しい IP を経由します——コードの変更は不要です
セッションは中断されることなく継続します。エージェントが障害に気づくことはありません。
ベストプラクティス
Section titled “ベストプラクティス”- 複数ページのタスク(ページネーション、チェックアウトフロー)には Session Lock を有効化する
- IP の一貫性が問題にならない 単発のリクエスト では無効化する
- 不要に IP を保持しないよう、適切な
session_ttlを設定する - 完了したら
proxy.release()を呼び、IP をプールへ返却する