R:n curl-paketti käyttää libcurlia. Prosessin ympäristössä oleva välityspalvelin voi siis vaikuttaa, vaikka curl_fetch_memory-kutsussa ei olisi lainkaan välityspalvelinargumenttia:

Sys.setenv(ALL_PROXY = "http://proxy.example:8080")
result <- curl::curl_fetch_memory("https://www.example.org/")

Aseta ympäristö ennen pyynnön valmistelua. Käytä täydellistä päätepistettä, mukaan lukien aiottu scheme ja portti, sen sijaan että olettaisit pelkän isäntänimen tarkoittavan oikeaa protokollaa. Sallituille julkisten sivustojen pyynnöille HTTP-välityspalvelinluettelo tarjoaa ehdokkaita esimerkkien HTTP-välityspalvelin-URL-osoitteille.

ALL_PROXY on varareitti. Kohdeprotokollan välityspalvelinympäristömuuttujalla on etusija, ja vastaava NO_PROXY-ohitus voi silti valita suoran yhteyden. Tarkista nämä arvot, kun ALL_PROXY:n muuttaminen näyttää vaikuttamattomalta.

Jos reitti kuuluu yhdelle kahvalle, määritä se eksplisiittisesti:

handle <- curl::new_handle(proxy = "http://proxy.example:8080")
result <- curl::curl_fetch_memory(
  "https://www.example.org/", handle = handle
)

Kahvan välityspalvelinasetus ohittaa ympäristön välityspalvelinvalinnan; ohituskäytäntö pysyy merkityksellisenä. Eksplisiittisesti tyhjä välityspalvelinasetus poistaa välityspalvelimen käytöstä, vaikka välityspalvelinympäristömuuttuja olisi olemassa.

Nämä asetukset vaikuttavat käynnissä olevaan R-prosessiin ja curlin pyyntöihin. Toisen R-istunnon käynnistäminen tai toisen verkkototeutuksen omaavan paketin käyttäminen voi tuottaa eri reitin.

Aiheeseen liittyvät artikkelit