Playwright에서 프록시를 설정하는 방법 (브라우저 전역 및 Per-Context 인증)
업데이트:
Playwright는 별도의 브라우저 확장 프로그램이나 외부 래퍼 라이브러리 없이도 Chromium, Firefox, WebKit 전반에서 기본 HTTP 프록시 인증(server, username, password)을 완벽하게 지원합니다. 특히 Playwright의 Per-Context Proxy 기능을 사용하면 단일 브라우저 인스턴스 안에서 각기 다른 VinaProxy 고정 IP가 할당된 수십 개의 독립된 BrowserContext 세션을 동시에 실행할 수 있습니다.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1개 IP₫40,000
- 5+ IP₫35,000
- 10+ IP₫25,000
- 20+ IP₫25,000
- 50+ IP₫25,000
- 100+ IP₫25,000
- 200+ IP₫25,000
- 500+ IP₫25,000
- 1000+ IP₫22,000
- 2000+ IP₫20,000
- 1개 IP₫50,000
- 3+ IP₫40,000
- 5+ IP₫40,000
- 10+ IP₫32,000
- 50+ IP₫30,000
- 100+ IP₫30,000
- 200+ IP₫30,000
- 500+ IP₫25,000
Playwright 프록시 객체 설정 파라미터
chromium.launch({ proxy })를 통한 전역 설정 또는 browser.newContext({ proxy })를 통한 세션별 설정 모두 동일한 proxy 객체 형식을 사용합니다:
| Playwright 설정 키 | 값 형식 | 기술 참고 사항 |
|---|---|---|
server | 'http://ip:port' | 호스트와 포트만 입력하며 반드시 http:// 접두사를 포함해야 함 |
username | 'user' | VinaProxy 대시보드에서 제공하는 프록시 사용자 이름 |
password | 'pass' | 프록시 비밀번호 (Playwright가 HTTP 407 인증을 자체 처리함) |
bypass | 'localhost,127.0.0.1' | 선택 사항으로, 프록시를 거치지 않을 쉼표 구분 호스트 목록 |
다중 IP BrowserContext를 효율적으로 운용하는 방법
- Windows 및 macOS에서는 개별
browser.newContext()에서proxy를 재정의하려는 경우,chromium.launch()호출 시 임시값proxy: { server: 'http://per-context' }를 전달해야 Chromium 라우팅이 활성화됩니다 browser.newContext()에 프록시 위치에 맞는timezoneId와locale을 함께 설정하여 HTTP 헤더와 자바스크립트IntlAPI가 실제 국가 환경과 일치하도록 구성하세요page.route()를 활용해 불필요한 이미지 및 폰트 요청을 중단하면 대규모 스크래핑 처리 속도를 극대화할 수 있습니다
단계별 안내
- 1
IP, 포트, 사용자 이름, 비밀번호 확인
VinaProxy 대시보드에서
ip:port:user:pass형식의 연결 정보를 복사합니다. - 2
newContext()에 proxy 객체 전달
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } })를 호출합니다. - 3
timezoneId 및 locale 동기화
프록시 IP 위치와 일치하는
timezoneId및locale(예:America/New_York또는Asia/Ho_Chi_Minh)을 지정합니다. - 4
새 페이지에서 외부 노출 IP 확인
const page = await context.newPage()로 새 탭을 생성하고https://vinaproxy.com/api/my-ip로 요청을 보내 IP를 검증합니다.
자주 묻는 질문
Playwright에서 'Proxy is only supported when browser is launched with a proxy' 에러가 발생하는 이유는 무엇인가요?
Windows 및 macOS의 Chromium은 컨텍스트별 프록시 재정의를 허용하기 전에 브라우저 시작 시 전역 프록시 플래그가 지정되어 있어야 합니다. chromium.launch({ proxy: { server: 'http://per-context' } })로 브라우저를 시작한 후 각 browser.newContext({ proxy })에 실제 프록시를 전달하세요.
VinaProxy 프록시는 Playwright의 Firefox 및 WebKit에서도 동작하나요?
네. Node.js와 Python 환경 모두에서 Chromium, Firefox, WebKit 3개 브라우저 엔진 전체에 동일한 proxy: { server, username, password } 문법이 적용됩니다.
헤드리스 Playwright 브라우저를 구동할 때 트래픽 종량 요금이 부과되나요?
아닙니다. 모든 VinaProxy 전용 IPv4 및 고정 ISP 플랜은 월간 무제한 트래픽을 기본 제공합니다.
전용 고정 IP로 Playwright BrowserContext 확장
글로벌 7개 지역을 지원하는 대역폭 무제한 초고속 HTTP(S) 프록시.
Playwright 프록시 구매