Uno script PAC di Windows può scegliere un proxy in base alla destinazione. Per un download eseguito con il pacchetto curl di R, chiedi al suo assistente Windows il percorso di quell'URL prima di creare l'handle di trasferimento:

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)

Leggi e chiudi la connessione tramite il normale ciclo di vita delle connessioni dell'applicazione. Lo snippet stabilisce il percorso per quell'handle curl; non configura ogni pacchetto di rete nel processo R.

L'assistente legge la configurazione proxy corrente di Windows. Quando la configurazione automatica è attiva, la valutazione può comportare il download e l'esecuzione dello script PAC, quindi la ricerca stessa può richiedere tempo. Usa l'URL di destinazione reale invece di un comodo sito di test non correlato.

L'assistente restituisce NULL quando non viene selezionato alcun proxy. La stringa proxy vuota esplicita nell'esempio dice a libcurl di eseguire questo trasferimento direttamente, invece di ricadere su una variabile d'ambiente proxy lasciata nella sessione.

L'URL di un file PAC non è l'endpoint proxy risultante. Passare quell'URL di script come valore proxy dell'handle non chiede a libcurl di valutare lo script.

Questa ricerca restituisce un proxy selezionato, non un motore di failover completo ed equivalente al browser per ogni candidato PAC. Non fornisce inoltre credenziali di autenticazione. Mantieni la gestione locale al client Windows e al trasferimento curl che hanno davvero bisogno di questa politica.

Articoli correlati