プロキシ IP を変更するとセッションはリセットされる?
IP を変更してもブラウザーの Cookie や Requests Session は消えません。ネットワーク経路とアプリケーション状態を分けて考えます。
いいえ。プロキシの変更は Cookie の削除、アカウントのログアウト、新しいブラウザープロファイルの作成を行いません。IP が変わっても、サイトは同じセッション Cookie を識別でき、API も同じキーを識別できます。
ブラウザーの場合
プロファイルに保存されたアプリケーション状態は残ります。ネットワーク変更に気づいたサイトがログインを維持することも、確認を求めることもあります。動作を決めるのはアプリケーションです。
独立したテスト用プロファイルなら、無料プロキシの確認を既存の個人セッションから切り離せます。ただし、それ自体で匿名性が得られるわけではありません。
Python Requests の場合
Requests の Session は Cookie jar と接続プールを保持します。以下の二つのリクエストは異なるプロキシを選びますが、同じ Session を使います。実行前に文書用のエンドポイントを置き換えてください。HTTP プロキシ一覧から、この HTTP プロキシ比較用の候補を選べます。
import requests
with requests.Session() as session:
session.trust_env = False
# The same cookie jar remains available across these requests.
first = session.get(
"https://example.com/",
proxies={"https": "http://203.0.113.10:8080"},
timeout=(5, 15),
)
second = session.get(
"https://example.com/",
proxies={"https": "http://203.0.113.20:8080"},
timeout=(5, 15),
)
独立したアプリケーションセッションが必要な処理では、処理ごとに別の Session を作成します。Cookie jar だけを消しても、カスタムヘッダーや別の場所に保存された認証情報など、ほかの状態は残ります。
IP 確認の応答とログイン確認は異なる問いに答えます。前者は出口アドレスの変更を示せます。ログインが続いていても、その観測と矛盾しません。ログアウトしたこともプロキシ変更の証拠にはなりません。Cookie が期限切れになっただけかもしれないためです。