Я использую R в коммерческой среде, где все внешние подключения осуществляются через веб-прокси, поэтому нам нужно указать адрес прокси-сервера и убедиться, что мы подключаемся к нему с помощью аутентификации Windows.
У меня уже есть код, который настроит пакеты RCurl и httr для использования этих настроек по умолчанию - т.е.
httr::set_config(config(
proxy = "my.proxy.address",
proxyuserpwd = ":",
proxyauth = 4
))
или
opts <- list(
proxy = "my.proxy.address",
proxyuserpwd = ":",
proxyauth = 4
)
RCurl::options(RCurlOptions = opts)
Однако в пареВ последнее время я обнаружил пакеты, которые зависят от пакета curl для выполнения веб-запросов - например, xml2::read_xml
- и я не могу найти способ установить те же параметры прокси, чтобы ониподобран по умолчанию и используется curl.
Если я сам использую curl, я могу установить параметры для нового дескриптора, и для успешной работы достаточно следующего кода:
h = new_handle(proxy = "my.proxy.address",
proxyuserpwd = ":")
con = curl(url,handle = h)
page = xml2::read_xml(con)
... но это не так.помочь, когда использование curl скрыто в чужой функции!
Кроме того, я знаю, что могу установить переменную окружения для прокси-адреса, например:
Sys.setenv(https_proxy = "https://my.proxy.address")
...и libcurl поднимает это.Но если я это сделаю, то получу ошибку аутентификации прокси HTTP 407.Есть ли способ указать пустое имя пользователя / пароль (как это делает параметр proxyuserpwd), чтобы мы проходили аутентификацию с использованием учетных данных Windows?Также представляется невозможным указать параметр proxyauth в качестве переменной среды.
Может кто-нибудь предложить решение или какие-либо предложения, пожалуйста?