Um script PAC do Windows pode escolher um proxy conforme o destino. Para um download feito com o pacote curl do R, pergunte ao seu assistente do Windows pela rota desse URL antes de criar o handle de transferência:

url <- "https://example.com/data.csv"
route <- curl::ie_get_proxy_for_url(url)
if (is.null(route)) route <- ""

handle <- curl::new_handle(proxy = route)
connection <- curl::curl(url, handle = handle)

Leia e feche a conexão pelo ciclo de vida normal de conexões da aplicação. O trecho estabelece a rota para esse handle curl; ele não configura todos os pacotes de rede no processo R.

O assistente lê a configuração atual de proxy do Windows. Quando a configuração automática está ativada, a avaliação pode envolver baixar e executar o script PAC, então a própria consulta pode demorar. Use o URL de destino real em vez de um site de teste conveniente e não relacionado.

O assistente retorna NULL quando nenhum proxy é selecionado. A string de proxy vazia explícita no exemplo diz ao libcurl para fazer esta transferência diretamente, em vez de recorrer a uma variável de ambiente de proxy deixada na sessão.

O URL de um arquivo PAC não é o endpoint de proxy resultante. Passar esse URL de script como valor de proxy do handle não pede ao libcurl que avalie o script.

Esta consulta retorna um proxy selecionado, não um mecanismo completo de failover equivalente ao do navegador para cada candidato PAC. Também não fornece credenciais de autenticação. Mantenha o tratamento local no cliente Windows e na transferência curl que realmente precisam desta política.

Artigos relacionados