ALL_PROXY is een terugvaloptie voor curl-aanvragen in R
Stel een volledige proxy-URL in het R-proces in en houd vervolgens rekening met protocolspecifieke variabelen, omzeilingsregels en expliciete curl-handle-opties.
Het curl-pakket van R gebruikt libcurl. Een proxy uit de procesomgeving kan daarom gelden, zelfs wanneer curl_fetch_memory geen proxy-argument in de aanroep heeft:
Sys.setenv(ALL_PROXY = "http://proxy.example:8080")
result <- curl::curl_fetch_memory("https://www.example.org/")
Stel de omgeving in voordat de aanvraag wordt voorbereid. Gebruik een volledig eindpunt, inclusief het bedoelde scheme en de poort, in plaats van aan te nemen dat een kale hostnaam het juiste protocol betekent. Voor toegestane aanvragen naar openbare sites biedt de HTTP-proxylijst kandidaten voor de HTTP-proxy-URL's uit de voorbeelden.
ALL_PROXY is een terugvaloptie. Een proxy-omgevingsvariabele voor het protocol van de bestemming heeft voorrang, en een overeenkomstige NO_PROXY-omzeiling kan nog steeds een directe verbinding kiezen. Controleer die waarden wanneer het wijzigen van ALL_PROXY geen effect lijkt te hebben.
Voor een route die bij één handle hoort, configureer die expliciet:
handle <- curl::new_handle(proxy = "http://proxy.example:8080")
result <- curl::curl_fetch_memory(
"https://www.example.org/", handle = handle
)
De proxy-optie van de handle overschrijft de selectie van een omgevingsproxy; het omzeilingsbeleid blijft relevant. Een expliciet lege proxy-optie schakelt proxygebruik uit, zelfs wanneer er een proxy-omgevingsvariabele bestaat.
Deze instellingen beïnvloeden het lopende R-proces en de aanvragen van curl. Een andere R-sessie starten of een pakket met een andere netwerkimplementatie gebruiken kan een andere route opleveren.