Сеанс 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 для разрешённого публичного просмотра. Используйте вместо неё URL socks5 только тогда, когда конечная точка действительно говорит по SOCKS5. При сборке вектора аргументов удалите конфликтующий существующий переключатель прокси.

Выполните намеченные операции CDP через session, затем закройте сеанс, контроллер и принадлежащий вам браузер в рамках очистки нагрузки R. Путь очистки R в стиле try/finally полезен, если навигация вызовет ошибку.

Для приложений, использующих общий браузер Chromote по умолчанию, set_chrome_args меняет значения по умолчанию для будущего создания браузера. Он не перезапускает существующий процесс. Создание явного объекта Chrome, как выше, делает видимыми владение и момент запуска.

Собственная среда R http_proxy или https_proxy может настроить загрузчик R, не меняя этот браузер. Точно так же смена маршрута Chrome не настраивает отдельный вызов R API. Определите, какая сторона соединения CDP отправляет запрос.

Похожие статьи