Python
requests, httpx, aiohttp, 비동기 동시 처리
문서 · 게이트웨이, 사용자 이름 형식, 세션, 오류, 한도
첫 요청 전송에 필요한 모든 것과 참고할 타깃팅 매개변수, 세션 규칙, 오류 코드, 한도 안내.
빠른 답변
CrawlRelay 프록시에 어떻게 연결하나요?
임의 HTTP 클라이언트를 http://USERNAME:[email protected]:7777로, SOCKS5는 포트 7778로 지정하세요. CrawlRelay, 개발자 중심 레지덴셜 프록시 서비스는 사용자 이름에서 타깃팅과 세션을 읽어들입니다: USERNAME-country-us-city-new_york-session-job1-ttl-30. 레지덴셜 트래픽은 1 GB 당 US$1.50이며 50 GB 이상부터는 US$0.50/GB 요금이 적용됩니다. 암호화폐로 결제하고 KYC 없이 이용 가능합니다.
| 게이트웨이 호스트 | gw.crawlrelay.com |
|---|---|
| HTTP / HTTPS 포트 | 7777 (CONNECT를 통한 HTTPS 사이트) |
| SOCKS5 포트 | 7778 (DNS가 출구에서 해결되도록 socks5h:// 사용) |
| 인증 | 플랜 또는 서브 사용자 아이디와 비밀번호, 또는 IP 허용 목록 (최대 10개 IP) |
| 사용자 이름 형식 | USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes} |
| 세션 길이 | 최대 30분; IP는 더 빨리 변경될 수 있음 |
| 테스트 URL | https://api.ipify.org는 출구 IP를 일반 텍스트로 반환 |
| 관리 API | https://crawlrelay.com/api/v1, 언제든지 취소 가능한 API 키 (API 문서) |
대시보드에서 사용자 이름과 비밀번호를 복사한 뒤, 다음 중 하나를 실행하세요. 각 명령은 웹사이트가 보는 IP 주소를 출력하며, 보통 실행할 때마다 변경됩니다.
curl -x http://USERNAME-country-us:[email protected]:7777 https://api.ipify.orgimport requests
proxy = "http://USERNAME-country-us:[email protected]:7777"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=(10, 30))
print(r.text)import { ProxyAgent, fetch } from "undici";
const dispatcher = new ProxyAgent("http://USERNAME-country-us:[email protected]:7777");
const res = await fetch("https://api.ipify.org", { dispatcher });
console.log(await res.text());대시보드의 사용자 이름에서 시작해 위 형식대로 하이픈으로 매개변수를 덧붙이세요. 매개변수는 모두 선택 사항입니다. 값은 소문자이며 도시 이름은 밑줄(_)로 연결합니다(new_york, sao_paulo). 도시별 가능 지역은 다릅니다.
| 목표 | 사용자 이름 |
|---|---|
| 모든 국가, 연결마다 IP 회전 | USERNAME |
| 독일 | USERNAME-country-de |
| 파리 | USERNAME-country-fr-city-paris |
| 텍사스 | USERNAME-country-us-state-tx |
| 하나의 우편번호 | USERNAME-country-us-zip-10001 |
| 하나의 인터넷 제공자 | USERNAME-country-us-asn-7922 |
| 최대 30분간 동일 IP 유지 | USERNAME-country-gb-session-abc123-ttl-30 |
비밀번호에 @, : 또는 /가 들어간 경우, 프록시 URL에 넣기 전에 URL 인코딩 하세요. 407 오류 페이지에 설명됨.
session- 없이 사용자 이름을 쓰면 새로운 TCP 연결마다 보통 다른 IP를 프록시 풀에서 받습니다. session-<id>-ttl-<minutes>가 포함된 사용자 이름은 TTL 종료 또는 레지덴셜 프록시 기기가 오프라인 될 때까지 동일 출구 IP를 유지합니다.
세션 가이드에서 각 라이브러리별 연결 재사용을 다룹니다.
먼저 누가 응답했는지 확인하세요: 게이트웨이인지 그 뒤 웹사이트인지.
| 당신이 보는 오류 | 전송 주체 | 일반적인 원인 | 무엇을 해야 하나요 |
|---|---|---|---|
| 407 | 게이트웨이 | 잘못되었거나 인코딩되지 않은 인증 정보 | 사용자 이름이나 비밀번호를 수정하세요; 무작정 재시도하지 마세요 |
| ERR_TUNNEL_CONNECTION_FAILED | 브라우저 | CONNECT 거부됨 (종종 숨겨진 407) | 서버 URL에 인증 정보를 넣지 말고 필드로 전달하세요 |
| 502 / 504 | 게이트웨이 또는 CDN | 출구 연결이 끊어졌거나 대상이 느리거나 다운됨 | 새 연결에서 재시도하되 횟수를 제한하세요 |
| 403 | 웹사이트 | 잘못된 국가, 헤더, 속도 제한 또는 거부 | 브라우저에서 확인하고 속도를 줄이거나 거부를 존중하세요 |
| 429 | 웹사이트 | 속도 제한 | Retry-After를 준수하고 호스트당 동시 처리를 줄이세요 |
| SSL: 잘못된_버전_번호 | 귀하의 클라이언트 | 프록시 URL 앞에 https:// | 프록시 URL에 http://를 사용하세요 |
모든 15 항목은 오류 참고에 있습니다.
대시보드 또는 API 키로 REST API https://crawlrelay.com/api/v1에서 관리할 수 있습니다. 언제든지 취소 가능한 API 키. 주요 작업:
CrawlRelay는 Python(requests, httpx, aiohttp), Scrapy, Playwright, Puppeteer, Selenium, Node.js, 그리고 curl를 위한 복사/붙여넣기 가이드를 제공합니다. 또한 15의 프록시 오류 참조와 curl, Python, Node.js 샘플이 포함된 REST API 참조가 있습니다. 모든 예제는 실제 게이트웨이 호스트와 포트를 사용하며, 각 코드 스니펫은 게시 전 구문 검사를 거칩니다.
아니요. 사용자 이름과 비밀번호 인증은 어떤 기기에서도 작동하므로, 노트북, 서버, CI 실행기 어디에서든 동일한 스크래퍼를 실행할 수 있습니다. 원하면 최대 10개의 IP를 허용 목록에 추가할 수 있습니다. 인증 정보는 환경 변수나 비밀 관리자를 사용하고, 절대 저장소에는 두지 마세요.
사용자 이름에 세션 ID가 포함되어 있어 일부러 하나의 IP를 유지하거나, 클라이언트가 하나의 유지된 연결을 재사용하는 경우입니다. 회전은 새 연결마다 발생합니다. 세션 부분을 제거하거나 세션 가이드]에 설명된 대로 요청별로 새 연결을 열어 주세요.
웹 스크래핑에는 HTTP 포트(7777)를 사용하세요: 모든 라이브러리와 브라우저가 인증과 함께 이를 지원하며, HTTPS 사이트는 CONNECT 터널을 통해 작동합니다. SOCKS5(7778)는 SOCKS만 지원하는 도구에서 사용하고, socks5h://를 사용해 DNS가 출구 IP에서 해석되도록 하세요.
프록시를 통해 https://api.ipify.org에 요청해 IP를 얻은 뒤 신뢰하는 지리 위치 데이터베이스에서 조회하세요. 데이터베이스마다 특히 모바일 IP에 대해 차이가 있을 수 있으니, 대상이 제공하는 콘텐츠도 확인하세요: 통화, 언어, 현지 결과가 데이터의 핵심입니다.
요금제는 요청 수가 아니라 GB 단위로 청구되며, 가장 먼저 만나는 제한은 대상 서버 자체의 제한입니다. 각 대상을 개별적으로 조절하고 429, 503 응답이 나오면 속도를 줄이세요. 대규모 크롤링 계획이 있다면 먼저 [email protected] 고객지원에 알려 주세요.
US$0.50/GB 부터 · KYC 없이
시작하기