คำตอบสั้น
ฉันจะเช็กได้อย่างไรว่า IP พร็อกซีอยู่ในเมืองใด?
ส่งคำขอหนึ่งครั้งผ่านพร็อกซีไปยังบริการค้นหา IP เช่น ipinfo.io แล้วอ่านฟิลด์ city, region และ org (ASN) จากนั้นตรวจ IP เดียวกันในฐานข้อมูลที่เว็บไซต์เป้าหมายใช้ กับ MetroProxies (กำหนดเป้าหมายระดับเมืองเริ่มต้นที่ US$0.50/GB ตุลาคม 2026) ให้เปรียบเทียบผลลัพธ์กับเซกเมนต์ city- ที่คุณส่งไป ไม่ต้อง KYC; จ่ายด้วยคริปโต
ควรตรวจอะไร และตรวจตามลำดับใด?
- พร็อกซีใช้งานได้: คุณได้รับคำตอบและ IP ไม่ใช่ IP ของคุณเอง
- รัฐ: ฐานข้อมูลเกือบทั้งหมดเห็นตรงกัน รัฐผิดหมายถึงคำขอผิด (ตรวจเซกเมนต์
state-) - เมืองหรือเขตมหานคร: การตรวจที่มีประโยชน์ที่สุดสำหรับงานระดับเมือง ชานเมืองมักถูกระบุด้วยชื่อเมืองหลัก
- เครือข่าย (ASN): บอกว่าคุณมาจากผู้ให้บริการในบ้านรายใด และช่วยให้คุณตรึงค่านี้ไว้ได้ด้วย
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 ด้านล่างขอ 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): ใช้เซกเมนต์รัฐและเปรียบเทียบกับมุมมองของเป้าหมาย เขตมหานครมักข้ามเส้นแบ่งรัฐ
- ภูมิภาคต่างกันโดยสิ้นเชิง: ลองใหม่หนึ่งครั้งด้วยการเชื่อมต่อใหม่ หากยังเกิดซ้ำ ส่ง IP เวลา และชื่อผู้ใช้ของคุณ (ไม่ใช่รหัสผ่าน) ไปที่ฝ่ายสนับสนุน
อย่าเลือก IP ทีละรายการจนกว่าฐานข้อมูลจะเห็นตรงกัน เพราะฐานข้อมูลเปลี่ยนทุกสัปดาห์ ตัดสินใจว่าฐานข้อมูลใดสำคัญกับงานของคุณ และยอมรับส่วนน้อยของ IP ที่ฐานข้อมูลนั้นระบุตำแหน่งไว้ที่อื่น
ฉันควรไปที่ไหนต่อ?
รับ IP ก่อนด้วยเปลี่ยน IP ของคุณเป็นเมืองอื่น ตรึงไว้ด้วยเซสชันแบบคงอยู่ตามเมือง และอ่านเหตุผลที่ฐานข้อมูลไม่ตรงกันได้ในพร็อกซีระดับเมืองที่แม่นยำ คู่มือทั้งหมดอยู่ที่หน้ารวมคู่มือ โค้ดอยู่ในเอกสาร curl และ Python
ผู้คนยังถามอะไรอีกเกี่ยวกับการตรวจตำแหน่ง?
ควรใช้บริการค้นหา IP รายใด?
ใช้บริการที่ใกล้เคียงกับเป้าหมายของคุณที่สุด หากคุณทดสอบเว็บไซต์ที่ใช้ผู้ให้บริการระบุตำแหน่งทางภูมิศาสตร์รายใด ให้ตรวจด้วยรายนั้น สำหรับการตรวจทั่วไป ipinfo.io และบริการที่คล้ายกันจะคืนค่าเมือง ภูมิภาค และ ASN ในคำตอบ JSON เดียว เคารพข้อจำกัดอัตราการเรียกใช้ของแต่ละบริการ
ฉันตรวจตำแหน่งบน Google ได้ไหม?
ไม่ได้ด้วยสคริปต์ ข้อกำหนดของ Google ห้ามการเข้าถึงอัตโนมัติที่ไม่สนใจ robots.txt และ google.com/robots.txt ห้าม /search ให้ตรวจด้วยตัวเองในเบราว์เซอร์ที่ตั้งค่าให้ใช้พร็อกซี หรือใช้ผู้ให้บริการข้อมูลที่ได้รับอนุญาตสำหรับงานปริมาณมาก
ทำไมเบราว์เซอร์ของฉันยังแสดงเขตเวลาจริงของฉัน?
เพราะพร็อกซีเปลี่ยนเฉพาะที่อยู่ IP เขตเวลา ภาษา และตำแหน่งที่บันทึกไว้ของเบราว์เซอร์มาจากอุปกรณ์ของคุณ ตั้งค่าให้ตรงกับเมือง (เช่น Portland, America/Los_Angeles) หากหน้าที่คุณทดสอบอ่านค่าเหล่านี้