クイック回答
複数のリクエストで同じ都市のIPを保持するにはどうすればいいですか?
都市のユーザー名にセッションIDと有効期限を追加します:USERNAME-country-us-state-mo-city-st_louis-session-stl1-ttl-20でMetroProxiesに1つのセントルイスIPを最大20分間保持するよう要求します。セッションは最大30分間。セッションごとにttlパラメータで設定します。IPがそれより早く変わることもあります持続します。$0.50/GBからのプランに含まれます(2026年10月)。KYC不要、暗号通貨対応。
スティッキーセッションはどのように機能しますか?
| セグメント | 都市またはZIPの後ろにsession-{id}とttl-{minutes} |
|---|---|
| 最大 | 最大30分間。セッションごとにttlパラメータで設定します。IPがそれより早く変わることもあります |
| セッションID | 任意の英数字。新しいIDで新しいIPを取得 |
| ローテーションモード | 新しい接続ごとにプールからIPが割り当てられ、通常は別のIPになります。リクエストごとに新しいIPを取得するには、接続ごとに1リクエストを送信してください(keep-aliveをオフ) |
| コスト | 含まれています。トラフィックのみで課金 |
スティッキーセッションはいつ必要ですか?
1つのチェックの各ステップが同じアドレスから来る必要がある場合です。
- 自社サイトの複数ページフロー: カートに追加、店舗選択、送料見積もりの確認。途中でIPが変わると、サイトが選択した場所がリセットされる可能性があります。
- ビフォーアフター比較: ページを読み込み、設定を1つ変更し、同じIPから再度読み込む。
- 初回訪問時に場所を設定するページ: 一部のサイトは検出した都市をCookieに保存します。CookieとIPが一致するようIPを保持してください。
広範なサンプル(100都市、各1ページ)には、ローテーションモードが簡単です。新しい接続ごとに要求された都市で新しいIPを取得します。
多数の都市を実行する場合、セッションはどう命名すべきですか?
都市ごと、実行ごとに1つのセッションIDを使用し、結果が誤ってIPを共有しないようにし、リトライ時に新しいIPを取得できるようにします。
-city-boise-session-boi20261018a-ttl-15-city-spokane-session-spo20261018a-ttl-15- 失敗後のリトライ時:サフィックス(
...b)を変更して新しいIPを取得します。
短く読みやすいIDはログを読みやすくします。都市コード、日付、文字1つで十分です。異なる都市間で同じIDを再利用しないでください。
TTLより前にIPが変わった場合はどうなりますか?
起こり得ます:最大30分間。セッションごとにttlパラメータで設定します。IPがそれより早く変わることもあります。レジデンシャルIPは家庭のデバイスに属し、そのデバイスがオフラインになったりプロバイダーがアドレスを更新したりすると、セッションはそれを保持できません。
コードで対処してください:
- セッション開始時に出口IPを記録します(ルックアップリクエスト1回)。
- 後のステップが接続エラーで失敗した場合、出口IPを再度確認します。
- 変わっていた場合は、1つの結果に2つのIPを混在させるのではなく、新しいセッションIDでフローを最初からやり直します。
TTLはフローに必要なだけ短くしてください。5分のフローに30分のセッションは不要で、短いセッションほどデバイスの変更にさらされにくくなります。
import requests
GATEWAY = "gw.metroproxies.com:7777"
def session_for(user: str, password: str, state: str, city: str, sid: str, ttl: int = 15) -> requests.Session:
name = f"{user}-country-us-state-{state}-city-{city}-session-{sid}-ttl-{ttl}"
proxy = f"http://{name}:{password}@{GATEWAY}"
s = requests.Session()
s.proxies = {"http": proxy, "https": proxy}
return s
def exit_ip(s: requests.Session) -> str:
return s.get("https://api.ipify.org", timeout=30).text.strip()
s = session_for("USERNAME", "PASSWORD", "mo", "st_louis", "stl20261018a")
first = exit_ip(s)
# ... your multi-step check on your own site goes here ...
if exit_ip(s) != first:
print("IP changed during the flow: restart with a new session ID")
次にどこへ進むべきですか?
終了IPはプロキシロケーションチェッカーで確認し、ローカル価格チェックや都市別広告チェックにはセッションを使い、すべてのセグメントはユーザー名フォーマットで確認できます。詳しくはガイドページへ。
スティッキーセッションについて他にどんな質問がありますか?
都市のIPを丸一日維持できますか?
いいえ。最大30分間。セッションごとにttlパラメータで設定します。IPがそれより早く変わることもあります。丸一日の作業では都市を固定し、IPが変わることを受け入れてください。各結果とともにIPを記録しましょう。
スティッキーセッションは割高ですか?
いいえ。セッションがローテーションでもスティッキーでも、課金はトラフィック分のみです。
同時にいくつのセッションを実行できますか?
各セッションIDは独立しており、1つのアカウントから多数を並行して実行できます。各ターゲットへのリクエストレートは控えめにし、その利用規約に従ってください。利用規約をご覧ください。