const endpoint = new URL(browserlessWebSocketEndpoint);
endpoint.searchParams.set('token', browserlessToken);
endpoint.searchParams.set('launch', JSON.stringify({
  args: ['--proxy-server=http://proxy.example:8080'],
}));

const browser = await puppeteer.connect({
  browserWSEndpoint: endpoint.toString(),
});

배포 환경에 제공된 ws/wss 엔드포인트와 토큰을 사용합니다. 브라우저 호스트에서 HTTP 리스너에 접근할 수 있어야 하며, 이 토큰은 제어 연결을 인증합니다. 허용된 공개 웹 탐색에서는 HTTP 프록시 목록의 후보를 인증 없는 시작 플래그에 지정할 수 있습니다.

JSON.stringify가 launch 객체를 직렬화한 다음 URLSearchParams가 URL용으로 인코딩합니다. 미리 encodeURIComponent로 처리한 텍스트를 searchParams에 넣으면 퍼센트 기호가 다시 인코딩됩니다.

이 인증 없는 플래그는 Chromium 사용자 이름과 비밀번호를 전달하지 않습니다. 필요하면 지원되는 인증 챌린지 처리 방식을 사용합니다.

호스팅 서비스의 externalProxyServer 연동이 모든 자체 호스팅 이미지의 launch 객체에 같은 이름의 필드가 있음을 뜻하지는 않습니다. 계정을 점검하기 전에 배포 환경, 이미지 버전, 선택한 API를 대조하세요.

관련 글