Hızlı yanıt
Python'da ABD şehir proxy'sini nasıl kullanırım?
Proxy URL'sini gateway ve bir şehir kullanıcı adından oluşturun, sonra requests fonksiyonuna verin: http://USERNAME-country-us-state-il-city-chicago:[email protected]:7777. Mahalle için -zip-, tek IP'yi korumak için -session- ekleyin. MetroProxies $0,50/GB itibarıyla (Ekim 2026) her planda şehir, ZIP ve ASN hedefleme sunar. KYC yok; kripto.
import requests
user = "USERNAME-country-us-state-il-city-chicago"
proxy = f"http://{user}:[email protected]:7777"
r = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30)
r.raise_for_status()
print(r.json().get("city"), r.json().get("org"))
ZIP'ten şehre, oradan eyalete nasıl geri dönerim?
Küçük yerlerde belirli bir anda çevrimiçi IP olmayabilir. Önce dar isteği deneyin, her seferinde bir seviye genişletin ve yanıt veren seviyeyi sonuçla birlikte saklamak için döndürün. Aşağıdaki fonksiyon tam olarak bunu yapar ve sonsuza kadar yeniden denemek yerine eyalet seviyesinden sonra vazgeçer.
import requests
GATEWAY = "gw.metroproxies.com:7777"
USER, PASSWORD = "USERNAME", "PASSWORD"
def fetch_local(url: str, state: str, city: str | None = None, zip_code: str | None = None) -> tuple[str, requests.Response]:
levels = []
if city and zip_code:
levels.append(("zip", f"-state-{state}-city-{city}-zip-{zip_code}"))
if city:
levels.append(("city", f"-state-{state}-city-{city}"))
levels.append(("state", f"-state-{state}"))
last_error: Exception | None = None
for level, segment in levels:
proxy = f"http://{USER}-country-us{segment}:{PASSWORD}@{GATEWAY}"
try:
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=30)
r.raise_for_status()
return level, r
except requests.RequestException as e:
last_error = e
raise RuntimeError(f"no IP at zip, city or state level: {last_error}")
level, resp = fetch_local("https://ipinfo.io/json", "nm", city="albuquerque", zip_code="87102")
print(level, resp.json().get("city"))
import requests
user = "USERNAME-country-us-state-wa-city-tacoma-session-tac01-ttl-15"
proxy = f"http://{user}:[email protected]:7777"
with requests.Session() as s:
s.proxies = {"http": proxy, "https": proxy}
first = s.get("https://api.ipify.org", timeout=30).text
# step 1, step 2 ... on your own site, all from the same Tacoma IP
second = s.get("https://api.ipify.org", timeout=30).text
print(first, second, "same IP" if first == second else "IP changed: restart the flow")
Python'da insanların takıldığı noktalar neler?
- İstek başına yeni IP:
requests.Session()bağlantıyı açık tutar, bu yüzden rotasyon modu tüm oturum boyunca tek IP verir. Rotasyon için düzrequests.get()çağrıları veya her istek için yeni birSessionkullanın. - SOCKS5:
pip install "requests[socks]"kurun ve ana bilgisayar adlarını makineniz değil proxy çözsün diyesocks5h://kullanın. Port 7778. - Paroladaki özel karakterler:
urllib.parse.quote(password, safe="")ile URL kodlayın. - Zaman aşımları: her zaman bir tane belirleyin; konut çıkışları veri merkezi çıkışlarından daha yavaş olabilir.
- Kibar olun: her siteye istek hızını ölçülü tutun ve robots.txt ile şartlarına uyun.
Sırada nereye gitmeliyim?
beş dakikalık kurulumdan başlayın, Node.js ve curl örnekleriyle karşılaştırın ve IP'leri şehre göre sticky oturumlarla koruyun. Tüm dokümanlar: dokümantasyon.
Python hakkında başka neler soruluyor?
httpx da çalışır mı?
Evet. httpx 0.28 ve sonrasında httpx.Client() fonksiyonuna proxy="http://USERNAME-country-us-state-il-city-chicago:[email protected]:7777" verin. Eski sürümler proxies argümanı kullanıyordu.
Bu örnekler gateway'e karşı mı çalıştırıldı?
Python 3.10+ üzerinde python -I -m py_compile ile sözdizimi kontrolünden geçirildi; USERNAME ve PASSWORD yer tutucudur. Kendi kimlik bilgilerinizle çalıştırın.
Çıkış IP'sinin ASN'sini nasıl alırım?
ipinfo.io yanıtının org alanı onunla başlar (Comcast için "AS7922 ..."). ASN hedefleme için kullanıcı adına -asn-7922 ekleyin; bkz. ASN hedefleme.