R-ov curl paket koristi libcurl. Proxy iz okruženja procesa stoga može važiti čak i kada curl_fetch_memory nema argument proxy u pozivu:

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

Postavite okruženje prije pripreme zahtjeva. Koristite punu krajnju tačku, uključujući predviđeni scheme i port, umjesto da pretpostavljate da golo ime hosta znači ispravan protokol. Za dozvoljene zahtjeve prema javnim stranicama lista HTTP proxyja daje kandidate za HTTP proxy URL-ove iz primjera.

ALL_PROXY je rezervna ruta. Varijabla okruženja proxy za protokol odredišta ima prednost, a odgovarajuće zaobilaženje NO_PROXY i dalje može odabrati direktnu vezu. Provjerite te vrijednosti kada se čini da promjena ALL_PROXY nema učinka.

Za rutu koja pripada jednom handle, konfigurirajte je eksplicitno:

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

Opcija proxy na handle-u nadjačava odabir proxyja iz okruženja; politika zaobilaženja ostaje relevantna. Eksplicitno prazna opcija proxy onemogućava korištenje proxyja čak i kada varijabla okruženja proxy postoji.

Ove postavke utječu na R proces koji se izvodi i na curl zahtjeve. Pokretanje druge R sesije ili korištenje paketa s drugom mrežnom implementacijom može dati drugačiju rutu.

Povezani članci