Un script PAC de Windows puede elegir un proxy según el destino. Para una descarga hecha con el paquete curl de R, pregunta a su asistente de Windows por la ruta de esa URL antes de crear el handle de transferencia:

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)

Lee y cierra la conexión mediante el ciclo de vida normal de conexiones de la aplicación. El fragmento establece la ruta para ese handle de curl; no configura todos los paquetes de red del proceso de R.

El asistente lee la configuración actual de proxy de Windows. Cuando la configuración automática está activada, la evaluación puede implicar descargar y ejecutar el script PAC, así que la propia consulta puede tardar. Usa la URL de destino real en lugar de un sitio de pruebas cómodo y no relacionado.

El asistente devuelve NULL cuando no se selecciona ningún proxy. La cadena de proxy vacía explícita del ejemplo le dice a libcurl que haga esta transferencia directamente, en lugar de recurrir a una variable de entorno de proxy que quedó en la sesión.

La URL de un archivo PAC no es el punto final de proxy resultante. Pasar esa URL de script como valor de proxy del handle no pide a libcurl que evalúe el script.

Esta consulta devuelve un proxy seleccionado, no un motor completo de conmutación equivalente al del navegador para cada candidato PAC. Tampoco proporciona credenciales de autenticación. Mantén el manejo local en el cliente de Windows y la transferencia curl que realmente necesitan esta política.

Artículos relacionados