R-ov paket curl koristi libcurl. Proxy iz okruženja procesa stoga može djelovati č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 završnu točku, uključujući predviđeni scheme i port, umjesto da pretpostavljate da golo ime hosta znači ispravan protokol. Za dopuštene zahtjeve prema javnim stranicama popis HTTP proxyja daje kandidate za HTTP proxy URL-ove iz primjera.

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

Za rutu koja pripada jednom handleu, konfigurirajte je izričito:

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

Opcija proxy na handleu nadjačava odabir proxyja iz okruženja; politika zaobilaženja ostaje relevantna. Izričito prazna opcija proxy onemogućuje 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