Bez KYC — bez dowodu, bez selfie, bez dokumentów · Targetowanie na miasto, stan i kod ZIP w każdym planie
Język: Polski
Zacznij teraz

Dokumentacja · Python 3.10+

Proxy rezydencjalne w Pythonie według miast USA: przykłady z requests

Przykłady do skopiowania z biblioteką requests, sprawdzone składniowo za pomocą python -m py_compile.

Ostatnia aktualizacja:

Szybka odpowiedź

Jak używać proxy w mieście USA w Pythonie?

Zbuduj URL proxy z bramy i nazwy użytkownika dla miasta, a następnie przekaż go do requests: http://USERNAME-country-us-state-il-city-chicago:[email protected]:7777. Dodaj -zip- dla dzielnicy lub -session-, aby utrzymać jedno IP. MetroProxies obejmuje targetowanie po mieście, ZIP i ASN w każdym planie od 0,50 USD/GB (październik 2026). Bez KYC; krypto.

1. Jedno żądanie z miasta
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"))

Jak ustawić fallback z ZIP do miasta do stanu?

Małe miejscowości mogą w danym momencie nie mieć żadnego IP online. Najpierw spróbuj najwęższego zapytania, rozszerzaj o jeden poziom naraz i zwróć poziom, który odpowiedział, aby zapisać go z wynikiem. Funkcja poniżej robi dokładnie to i rezygnuje po poziomie stanu, zamiast ponawiać w nieskończoność.

2. Fallback ZIP → miasto → stan
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"))
3. Sesja sticky dla wieloetapowego sprawdzenia
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")

Które szczegóły Pythona sprawiają ludziom problem?

  • Nowe IP na żądanie: requests.Session() utrzymuje połączenie otwarte, więc tryb rotacji daje jedno IP na całą sesję. Używaj zwykłych wywołań requests.get() lub nowego Session na każde żądanie, aby rotować.
  • SOCKS5: zainstaluj pip install "requests[socks]" i używaj socks5h://, aby nazwy hostów rozwiązywało proxy, a nie twoja maszyna. Port 7778.
  • Znaki specjalne w haśle: zakoduj je URL-em za pomocą urllib.parse.quote(password, safe="").
  • Timeouty: zawsze ustawiaj; wyjścia rezydencjalne mogą być wolniejsze niż data-center.
  • Bądź uprzejmy: utrzymuj umiarkowane tempo żądań do każdej witryny i przestrzegaj robots.txt oraz jej regulaminu.

Gdzie warto zajrzeć dalej?

Zacznij od konfiguracji w pięć minut, porównaj z przykładami Node.js i curl, i utrzymuj IP dzięki sesjom sticky według miasta. Cała dokumentacja: dokumentacja.

O co jeszcze ludzie pytają w kontekście Pythona?

Czy httpx też działa?

Tak. W httpx 0.28 i nowszych przekaż proxy="http://USERNAME-country-us-state-il-city-chicago:[email protected]:7777" do httpx.Client(). Starsze wersje używały argumentu proxies.

Czy te przykłady były uruchamiane na bramie?

Są sprawdzane składniowo za pomocą python -I -m py_compile na Pythonie 3.10+, z USERNAME i PASSWORD jako placeholderami. Uruchom je z własnymi danymi logowania.

Jak uzyskać ASN wyjściowego IP?

Pole org w odpowiedzi ipinfo.io zaczyna się od niego ("AS7922 ..." dla Comcast). Do targetowania po ASN dodaj -asn-7922 do nazwy użytkownika; zobacz targetowanie po ASN.

1 GB 1,50 USD · bez KYC

Zacznij teraz