Un script PAC Windows peut choisir un proxy selon la destination. Pour un téléchargement effectué avec le paquet curl de R, demandez à son assistant Windows la route de cette URL avant de créer le handle de transfert :

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)

Lisez et fermez la connexion via le cycle de vie normal des connexions de l'application. L'extrait établit la route pour ce handle curl ; il ne configure pas tous les paquets réseau du processus R.

L'assistant lit la configuration proxy actuelle de Windows. Lorsque la configuration automatique est activée, l'évaluation peut impliquer le téléchargement et l'exécution du script PAC, si bien que la recherche elle-même peut prendre du temps. Utilisez l'URL cible réelle plutôt qu'un site de test pratique et sans rapport.

L'assistant renvoie NULL lorsqu'aucun proxy n'est sélectionné. La chaîne proxy vide explicite de l'exemple indique à libcurl d'effectuer ce transfert directement, au lieu de se rabattre sur une variable d'environnement proxy laissée dans la session.

L'URL d'un fichier PAC n'est pas le point de terminaison proxy résultant. Passer cette URL de script comme valeur de proxy du handle ne demande pas à libcurl d'évaluer le script.

Cette recherche renvoie un proxy sélectionné, pas un moteur de basculement complet équivalent à un navigateur pour chaque candidat PAC. Elle ne fournit pas non plus d'identifiants d'authentification. Gardez le traitement local au client Windows et au transfert curl qui ont réellement besoin de cette politique.

Articles similaires