KYC 없이 — 신분증, 셀피, 서류 불필요 · 모든 요금제에서 시, 주 및 ZIP 타겟팅
언어: 한국어
시작하기

문서 · Python 3.10+

미국 도시별 Python 레지덴셜 프록시: requests 예제

requests 라이브러리를 사용한 복사-붙여넣기 예제, python -m py_compile으로 구문 검사 완료.

최근 업데이트:

빠른 답변

Python에서 미국 도시 프록시를 어떻게 사용하나요?

게이트웨이와 도시 사용자 이름으로 프록시 URL을 만들고, 그것을 requests에 전달하세요: http://USERNAME-country-us-state-il-city-chicago:[email protected]:7777. 동네 단위로는 -zip-를, 하나의 IP를 유지하려면 -session-를 추가하세요. MetroProxies는 US$0.50/GB부터 모든 요금제에서 도시, ZIP, ASN 타겟팅을 포함합니다 (2026년 10월). KYC 없이; 암호화폐.

1. 한 도시에서의 요청 하나
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 → 도시 → 주 폴백은 어떻게 하나요?

작은 지역은 특정 시점에 온라인 IP가 없을 수 있습니다. 좁은 요청을 먼저 시도하고, 한 단계씩 넓히며, 응답한 단계를 반환해 결과와 함께 저장할 수 있게 하세요. 아래 함수가 정확히 그렇게 하며, 주 단계 이후에는 무한 재시도 대신 포기합니다.

2. ZIP → 도시 → 주 폴백
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. 여러 단계 확인을 위한 고정 세션
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에서 사람들이 자주 걸리는 부분은 무엇인가요?

  • 요청마다 새 IP: requests.Session()은 연결을 열린 상태로 유지하므로, 로테이션 모드는 세션 전체에 하나의 IP를 제공합니다. 로테이션하려면 일반 requests.get() 호출을 사용하거나 요청마다 새 Session을 만드세요.
  • SOCKS5: pip install "requests[socks]"을 설치하고 socks5h://을 사용하여, 내 컴퓨터가 아닌 프록시가 호스트 이름을 확인하도록 하세요. 포트 7778.
  • 비밀번호의 특수 문자: urllib.parse.quote(password, safe="")으로 URL 인코딩하세요.
  • 시간 초과: 항상 설정하세요; 레지덴셜 출구는 데이터센터 출구보다 느릴 수 있습니다.
  • 예의를 지키세요: 각 사이트에 대한 요청 속도를 적당히 유지하고 robots.txt와 해당 약관을 따르세요.

다음으로 어디로 가야 하나요?

5분 설정에서 시작하고, Node.js 및 curl 예제와 비교하며, 도시별 고정 세션으로 IP를 유지하세요. 모든 문서: 문서.

Python에 대해 사람들이 또 무엇을 묻나요?

httpx도 작동하나요?

네. httpx 0.28 이상에서는 proxy="http://USERNAME-country-us-state-il-city-chicago:[email protected]:7777"를 httpx.Client()에 전달하세요. 이전 버전은 proxies 인자를 사용했습니다.

이 예제들은 게이트웨이에 대해 실행해 본 것인가요?

Python 3.10+에서 python -I -m py_compile으로 구문 검사를 했으며, USERNAME과 PASSWORD는 자리 표시자입니다. 본인의 자격 증명으로 실행하세요.

출구 IP의 ASN은 어떻게 얻나요?

ipinfo.io 응답의 org 필드가 그것으로 시작합니다(Comcast의 경우 "AS7922 ..."). ASN 타겟팅의 경우 사용자 이름에 -asn-7922를 추가하세요; ASN 타겟팅을 참고하세요.

1 GB US$1.50 · KYC 없이

시작하기