빠른 답변
유럽 도시 IP에는 어떻게 연결하나요?
요청을 EuroCity Proxies 게이트웨이로 보내고 사용자 이름에 도시를 넣으세요. 예: USERNAME-country-fr-city-paris, 그런 다음 https://ipinfo.io/json을 읽어 출구를 확인하세요. 2026년 10월 기준, 도시 타깃팅은 모든 요금제에 포함되어 있으며 1 GB 요금은 US$0.95입니다. 도시 가용성은 달라지며, 결제 화면에 온라인 상태인 도시가 표시됩니다.
첫 요청 전에 무엇이 필요한가요?
| 게이트웨이 | gw.eurocityproxies.com |
|---|---|
| HTTP 및 HTTPS 포트 | 7777 |
| SOCKS5 포트 | 7778 |
| 로테이팅 사용자 이름 | USERNAME-country-fr-city-paris |
| 고정 사용자 이름 | USERNAME-country-fr-city-paris-session-paris1-ttl-10 |
| 확인 URL | https://ipinfo.io/json (IP, 도시, 지역, 국가, 네트워크) |
| 프로토콜 | HTTP, HTTPS (CONNECT) 및 SOCKS5 |
사용자 이름은 어떻게 구성되나요?
사용자 이름에 타깃팅 정보가 담깁니다: 계정 사용자 이름, 그다음 -country-와 소문자 ISO 코드, 그다음 선택적 세그먼트들이 이어집니다. 국가 세그먼트는 도시를 추가하더라도 항상 필수입니다.
-city-paris: 소문자, 악센트 없음, 공백이나 대시 대신_를 사용하는 도시 id (-city-the_hague).-asn-<number>: 하나의 네트워크, 예를 들어 브로드밴드 사업자이며 ASN 타깃팅은 추가 비용이 없습니다 (ASN 가이드).-session-paris1-ttl-10: 최대 10분간 지속되는paris1이라는 고정 세션입니다. ttl은 최대 30까지 가능합니다.
국가 코드는 사용자 이름에서는 소문자이지만 API에서는 대문자입니다. 한 국가의 도시 id 목록은 API 문서에 설명된 GET /api/v1/catalog/countries/FR/cities에서 가져옵니다. 반환된 id를 사용하고 kraków이나 münchen 같은 철자를 추측하지 마세요.
로테이팅 사용자 이름은 요청마다 IP를 바꾸나요?
매 요청이 아니라 매 새 연결마다 IP를 바꿉니다. 각 새 연결은 풀에서 IP를 받으며, 보통 다른 IP임; 매 요청마다 새 IP를 받으려면 연결당 하나의 요청을 보내세요 (keep-alive 끄기).
이것은 코드에서 중요합니다. requests.Session, httpx.Client 또는 undici 에이전트는 요청 간에 터널을 열어 두므로 출구가 동일하게 유지됩니다. 요청당 하나의 IP를 원하면 요청마다 새 클라이언트를 열거나 Connection: close를 보내세요. 여러 요청에 걸쳐 의도적으로 하나의 IP를 원하면 도시별 고정 세션에 설명된 고정 세션을 사용하세요.
# Rotating exit in Paris (HTTP proxy, HTTPS target through CONNECT)
curl -s -x "http://USERNAME-country-fr-city-paris:[email protected]:7777" https://ipinfo.io/json
# Sticky exit in Paris: session paris1, up to 10 minutes
curl -s -x "http://USERNAME-country-fr-city-paris-session-paris1-ttl-10:[email protected]:7777" https://ipinfo.io/json
# SOCKS5 with socks5h: the proxy resolves the hostname, not your machine
curl -s -x "socks5h://USERNAME-country-fr-city-paris:[email protected]:7778" https://ipinfo.io/json
# Gateway alone, without a target site: prints only the exit IP
curl -s -x "http://USERNAME-country-fr-city-paris:[email protected]:7777" https://api.ipify.org# pip install requests
from urllib.parse import quote
import requests
HOST = "gw.eurocityproxies.com"
PORT = 7777
USER = "USERNAME-country-fr-city-paris-session-paris1-ttl-10"
PASSWORD = quote("PASSWORD", safe="") # encodes @, : and / in the password
proxy = f"http://{USER}:{PASSWORD}@{HOST}:{PORT}"
proxies = {"http": proxy, "https": proxy}
# proxies= on each call wins over HTTP_PROXY / HTTPS_PROXY set on your machine
r = requests.get("https://ipinfo.io/json", proxies=proxies, timeout=30)
r.raise_for_status()
info = r.json()
print(info["ip"], info.get("city"), info.get("country"), info.get("org"))# pip install httpx
from urllib.parse import quote
import httpx
USER = "USERNAME-country-fr-city-paris"
PASSWORD = quote("PASSWORD", safe="")
PROXY = f"http://{USER}:{PASSWORD}@gw.eurocityproxies.com:7777"
# One client keeps its connection open (keep-alive): the three lines show one IP
with httpx.Client(proxy=PROXY, timeout=30, trust_env=False) as client:
for _ in range(3):
print("same client:", client.get("https://ipinfo.io/json").json()["ip"])
# A new client per request opens a new connection: usually a different Paris IP
for _ in range(3):
with httpx.Client(proxy=PROXY, timeout=30, trust_env=False) as client:
print("new client: ", client.get("https://ipinfo.io/json").json()["ip"])// npm install undici
import { ProxyAgent, fetch } from "undici";
const user = "USERNAME-country-fr-city-paris-session-paris1-ttl-10";
const password = encodeURIComponent("PASSWORD");
const dispatcher = new ProxyAgent(
`http://${user}:${password}@gw.eurocityproxies.com:7777`
);
try {
const res = await fetch("https://ipinfo.io/json", {
dispatcher,
signal: AbortSignal.timeout(30000), // stop after 30 s
});
const info = await res.json();
console.log(info.ip, info.city, info.country, info.org);
} finally {
await dispatcher.close();
}# pip install "requests[socks]"
from urllib.parse import quote
import requests
HOST = "gw.eurocityproxies.com"
SOCKS_PORT = 7778
USER = "USERNAME-country-fr-city-paris"
PASSWORD = quote("PASSWORD", safe="")
# socks5h: the proxy resolves the hostname, not your machine
proxy = f"socks5h://{USER}:{PASSWORD}@{HOST}:{SOCKS_PORT}"
r = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=30)
print(r.json())이 예제들은 어떤 세부 사항을 처리하나요?
예제들은 첫 연결에서 가장 자주 문제가 되는 세부 사항을 처리합니다:
- 비밀번호 인코딩. Python의
quote("PASSWORD", safe="")과 Node의encodeURIComponent은@나:같은 문자가 프록시 URL을 깨뜨리지 않게 합니다. - 내 컴퓨터의 프록시 변수. requests에서
session.proxies에 설정된 값은HTTPS_PROXY에 의해 덮어씌워질 수 있습니다. 각 호출에서proxies=을 전달하거나 세션에trust_env = False을 설정하세요. - 항상 타임아웃. 모든 예제는 멈추지 않고 30초 후에 중지됩니다.
- 최상위 await에는 모듈이 필요합니다. Node 예제를
.mjs로 저장하고 Node.js 22 이상으로 실행하세요. - socks5가 아닌 socks5h.
socks5://에서는 requests와 curl이 내 컴퓨터에서 호스트 이름을 조회합니다.socks5h://에서는 프록시가 이를 확인합니다.
브라우저에서 SOCKS5 포트를 사용할 수 있나요?
브라우저에서는 대신 HTTP 포트 7777를 사용하세요. Chromium 프록시 문서에 따르면 Chrome은 SOCKS5에 대한 인증 방법을 지원하지 않습니다. 포트 7778의 사용자 이름과 비밀번호는 작동하지 않습니다.
iPhone 또는 iPad에서는 Wi-Fi 설정에서 인증이 포함된 수동 HTTP 프록시를 제공합니다. Android 에뮬레이터의 경우 -http-proxy http://USERNAME-country-fr-city-paris:[email protected]:7777로 시작하세요. 앱 지오 테스트 페이지에서 기기를 더 자세히 다룹니다.
출력에 무엇이 표시되어야 하나요?
https://ipinfo.io/json의 JSON은 "country": "FR"을 표시하고, 대부분의 경우 city로 Paris 또는 파리 지역의 마을을 표시해야 합니다. org 필드는 프랑스 브로드밴드 사업자 같은 네트워크의 ASN으로 시작합니다.
파리 대신 인근 마을이 표시되는 것은 정상입니다: 지오로케이션 데이터베이스는 많은 가정용 IP를 사업자의 지역 허브에 배치합니다. 출구 도시 가이드는 두 소스를 비교하는 방법을 보여주고, IP가 인근 마을을 표시하는 이유는 그 원인을 설명합니다.
빠른 시작 질문
요청이 407 Proxy Authentication Required로 실패하는 이유는 무엇인가요?
407은 프록시가 사용자 이름이나 비밀번호를 받아들이지 않았다는 뜻입니다. 사용자 이름이 계정 사용자 이름으로 시작하는지, -country-이 포함되어 있는지, 비밀번호의 특수 문자가 URL 인코딩되었는지 확인하세요. 대시보드에서 두 값을 다시 복사하세요.
파리를 요청했는데 왜 독일 IP가 나오나요?
보통 사용자 이름의 오타입니다. 예를 들어 다른 테스트에서 남은 -country-de이 있거나 존재하지 않는 도시 id인 경우입니다. 요청 전에 사용자 이름을 출력해 보세요. ipinfo.io과 두 번째 소스가 모두 다른 국가를 표시하면 시간과 출구 IP를 적어 지원팀에 문의하세요.
고정 파리 세션은 얼마나 오래 유지되나요?
고정 세션은 동일한 IP 최대 30분 (예: 레지덴셜 장치가 오프라인이 되면 IP가 더 일찍 변경될 수 있음)을 유지합니다. -ttl-을 분 단위로 설정하세요. 예를 들어 -ttl-10 또는 -ttl-30입니다. 설정한 ttl보다 오래 세션이 유지될 것이라고 기대하지 마세요.
도시 타겟팅은 추가 요금이 있나요?
아니요. 모든 요금제에서 국가 및 도시 타겟팅, 미국에서는 주 및 ZIP 코드, ASN 타겟팅은 추가 비용 없음. 도시 가용성은 다름. GB당 가격은 도시 지정 여부와 관계없이 동일합니다. 가격 페이지에는 1 GB에 US$0.95, 10 GB에 US$8가 나와 있습니다.
이 빠른 시작은 트래픽을 얼마나 사용하나요?
아주 적습니다. https://ipinfo.io/json에 대한 각 요청은 헤더와 TLS를 포함해 몇 킬로바이트만 전송합니다. 사용량은 프록시를 통해 송수신된 모든 데이터(업로드 및 다운로드, 헤더 포함)를 집계함. 1 GB = 1,000,000,000 바이트. 대상에 도달하기 전에 실패한 연결 시도는 집계되지 않음.
비밀번호 대신 IP 허용 목록으로 로그인할 수 있나요?
네. 모든 요금제에서 사용자 이름 및 비밀번호, 또는 IP 허용 목록(최대 10개 IP). 각자의 자격 증명과 트래픽 한도를 가진 하위 사용자. 언제든지 폐기할 수 있는 API 키. 문서에서 허용 목록에 있는 IP로 연결할 때 국가와 도시를 설정하는 방법을 설명합니다. 이 페이지의 예제는 어느 머신에서나 작동하기 때문에 사용자 이름과 비밀번호를 사용합니다.
첫 기가바이트는 어떻게 결제하나요?
요금제를 선택한 다음 BTC, USDT, USDC, ETH, SOL, LTC으로 그 가격을 충전하세요(최소 US$25). 정확한 금액을 보내고 I've sent the payment를 클릭하세요. 충전은 정확한 금액으로 매칭되며 확인되면 한 번 적립됩니다. KYC 없이: 가입, 충전 또는 구매 시 신분증, 셀카, 서류가 필요 없음.
출처 (10)
- curl man 페이지: --proxy, socks5h:// 및 --socks5-hostname — curl project (checked 2026-10-18)
- Requests: Advanced Usage, Proxies 및 SOCKS — Python Software Foundation / Requests (checked 2026-10-18)
- HTTPX: Proxies — Encode (checked 2026-10-18)
- undici ProxyAgent 문서 — Node.js project (checked 2026-10-18)
- Node.js 릴리스(지원되는 릴리스 라인) — OpenJS Foundation (checked 2026-10-18)
- Chrome의 프록시 지원(SOCKSv5 인증) — The Chromium Projects (checked 2026-10-18)
- Android Emulator용 프록시 설정 — Google / Android Developers (last updated 2026-03-12, checked 2026-10-18)
- Global HTTP Proxy 기기 관리 페이로드 설정(iOS, iPadOS: 사용자 이름과 비밀번호를 사용한 수동 프록시) — Apple Platform Deployment (checked 2026-10-18)
- RFC 9110 HTTP Semantics, 섹션 9.3.6 CONNECT 및 상태 407 — IETF (June 2022, checked 2026-10-18)
- IPinfo JSON 엔드포인트 — IPinfo (checked 2026-10-18)