クイック回答
プロキシIPがどの都市にあるか確認するには?
ipinfo.ioなどのIPルックアップサービスへプロキシ経由で1回リクエストを送り、city、region、org(ASN)フィールドを読み取ります。その後、ターゲットサイトが使用するデータベースで同じIPを確認します。MetroProxies($0.50/GBからの都市ターゲティング、2026年10月)では、送信したcity-セグメントと結果を比較しましょう。KYC不要、暗号通貨対応。
何をどの順番で確認すべきですか?
- プロキシが機能すること: 応答が返り、IPが自分のものではないこと。
- 州: ほぼすべてのデータベースが一致します。州が違えばリクエストが誤っています(
state-セグメントを確認)。 - 都市またはメトロ: 都市単位の作業で最も有用なチェックです。郊外は中心都市の名前でラベル付けされることがよくあります。
- ネットワーク(ASN): IPがどの家庭用プロバイダー由来かを示し、
asn-で一定に保てます。 - ターゲット自身の表示: 多くのサイトは検出した位置をページに表示します(ストアピッカー、「配送先」行、現地通貨や税金)。実際に意味を持つのはその位置です。
すべての結果の横にIP、都市、州、ASNを記録し、後で奇妙なデータポイントを説明できるようにしましょう。
curl -s --max-time 30 \
-x http://USERNAME-country-us-state-or-city-portland:[email protected]:7777 \
https://ipinfo.io/jsonスクリプトで複数の都市を確認するには?
以下のPythonの例は、都市ごとに1つのIPを要求し、各終了IPがどこにジオロケーションされるかを表示して不一致をフラグします。requests(pip install requests)を使用し、都市ごとに新しい接続を開いて各都市が独自のIPを持つようにし、ループでリトライせずエラー時に停止します。USERNAMEとPASSWORDはダッシュボードのプロキシ認証情報に置き換えてください。
import requests
GATEWAY = "gw.metroproxies.com:7777"
USER, PASSWORD = "USERNAME", "PASSWORD"
# (state code, city segment, city name as lookup services usually spell it)
CITIES = [("or", "portland", "Portland"), ("tx", "san_antonio", "San Antonio"), ("fl", "tampa", "Tampa")]
def exit_info(state: str, city: str) -> dict:
user = f"{USER}-country-us-state-{state}-city-{city}"
proxy = f"http://{user}:{PASSWORD}@{GATEWAY}"
with requests.Session() as s: # a fresh session = a fresh connection = a fresh IP
r = s.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30)
r.raise_for_status()
return r.json()
for state, segment, expected in CITIES:
try:
info = exit_info(state, segment)
except requests.RequestException as e:
print(f"{segment}: request failed ({e.__class__.__name__}); widen to the state or retry later")
continue
city, region, org = info.get("city"), info.get("region"), info.get("org")
flag = "ok" if city == expected else "check"
print(f"{segment:12} -> {info.get('ip')} {city}, {region} {org} [{flag}]")
// save as check.mjs, then: npm install undici && node check.mjs
import { ProxyAgent, fetch } from 'undici';
const gateway = 'http://gw.metroproxies.com:7777';
const user = 'USERNAME-country-us-state-co-city-colorado_springs';
const token = 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64');
const agent = new ProxyAgent({ uri: gateway, token });
const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const info = await res.json();
console.log(info.ip, info.city, info.region, info.org);
await agent.close();
都市が一致しない場合は?
不一致はよくあり、通常は無害です。まずどの種類かを見極めましょう。
- 隣接都市や郊外(MesaがPhoenix、HialeahがMiamiと報告される):データベースによって都市の境界線の引き方が異なります。ターゲット自身の表示を確認し、正しいメトロが表示されていれば問題ありません。
- メトロは正しいが州が違う(Kansas CityのKansas対Missouri):州セグメントを使い、ターゲットの表示と比較してください。メトロ圏は州境をまたぎます。
- まったく別の地域: 新しい接続で1回だけリトライします。繰り返す場合は、IP、時刻、ユーザー名(パスワードは絶対に不可)をサポートに送ってください。
データベースが一致するまでIPを1つずつ選ぶのはやめましょう。データベースは毎週変わります。自分の作業にとって重要なデータベースを決め、それが別の場所に配置する少数のIPは受け入れましょう。
次にどこへ進むべきですか?
まずIPを別の都市に変更でIPを取得し、都市別スティッキーセッションで維持し、データベースがなぜ一致しないかは正確な都市レベルプロキシで読みましょう。すべてのガイドはガイドページに、コードはcurlとPythonのドキュメントにあります。
ロケーション確認について他にどんな質問がありますか?
どのIPルックアップサービスを使うべきですか?
ターゲットに最も近いものを使ってください。特定のジオロケーションプロバイダーを使うサイトをテストする場合は、そのプロバイダーで確認しましょう。一般的な確認には、ipinfo.ioなどのサービスが1回のJSON応答で都市、州、ASNを返します。各サービスのレート制限を守ってください。
Googleで位置を確認できますか?
スクリプトではできません。Googleの規約はrobots.txtを無視する自動アクセスを禁止しており、google.com/robots.txtは/searchを許可していません。プロキシを設定したブラウザで手動確認するか、大量処理には承認されたデータプロバイダーを使用してください。
ブラウザがまだ実際のタイムゾーンを表示するのはなぜですか?
プロキシはIPアドレスのみを変更するためです。ブラウザのタイムゾーン、言語、保存された位置はデバイス由来です。テストするページがそれらを読み取る場合は、都市に合わせて設定してください(PortlandならAmerica/Los_Angeles)。