Chromote 세션은 Chrome 프로세스와 대화합니다. 브라우저 요청은 그 프로세스의 프록시 구성에 따르므로, 객체를 만들기 전에 인수를 설정하세요:

args <- c(
  chromote::get_chrome_args(),
  "--proxy-server=http://proxy.example:8080"
)
browser <- chromote::Chrome$new(args = args)
controller <- chromote::Chromote$new(browser = browser)
session <- chromote::ChromoteSession$new(parent = controller)

이렇게 하면 Chromote의 기존 기본 인수가 유지되고 HTTP 리스너가 추가됩니다. HTTP 프록시 목록의 엔드포인트를 허용된 공개 브라우징용 예시 URL에 채울 수 있습니다. 대신 socks5 URL은 엔드포인트가 실제로 SOCKS5를 말할 때만 사용하세요. 인수 벡터를 구성할 때 충돌하는 기존 프록시 스위치를 제거합니다.

의도한 CDP 작업은 session을 통해 수행한 다음, R 워크로드 정리의 일부로 세션, 컨트롤러, 소유한 브라우저를 닫습니다. 탐색이 오류를 낼 때는 try/finally 스타일의 R 정리 경로가 유용합니다.

Chromote의 공유 기본 브라우저를 사용하는 애플리케이션에서 set_chrome_args는 향후 브라우저 생성의 기본값을 바꿉니다. 기존 프로세스를 재시작하지는 않습니다. 위처럼 명시적인 Chrome 객체를 만들면 소유권과 시작 시점이 드러납니다.

R 자체의 http_proxy 또는 https_proxy 환경은 이 브라우저를 바꾸지 않고 R 다운로더를 구성할 수 있습니다. 마찬가지로 Chrome의 경로를 바꾸는 것은 별도의 R API 호출을 구성하지 않습니다. CDP 연결의 어느 쪽이 요청을 보내는지 파악하세요.

관련 글