Balík curl v R používa libcurl. Proxy z prostredia procesu sa preto môže uplatniť aj vtedy, keď curl_fetch_memory nemá vo volaní žiadny argument proxy:

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

Nastavte prostredie ešte pred prípravou požiadavky. Použite úplný koncový bod vrátane zamýšľanej scheme a portu, namiesto toho, aby ste predpokladali, že holé meno hostiteľa znamená správny protokol. Pre povolené požiadavky na verejné stránky poskytuje zoznam HTTP proxy kandidátov pre HTTP proxy URL z príkladov.

ALL_PROXY je náhradná cesta. Premenná prostredia proxy pre protokol cieľa má prednosť a zodpovedajúce obchádzanie NO_PROXY môže stále zvoliť priame pripojenie. Skontrolujte tieto hodnoty, keď sa zdá, že zmena ALL_PROXY nemá žiadny účinok.

Pre trasu, ktorá patrí jednému handle, ju nastavte explicitne:

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

Voľba proxy na handle prepisuje výber proxy z prostredia; zásady obchádzania zostávajú relevantné. Explicitne prázdna voľba proxy vypne používanie proxy, aj keď premenná prostredia proxy existuje.

Tieto nastavenia ovplyvňujú bežiaci proces R a požiadavky curl. Spustenie inej relácie R alebo použitie balíka s inou sieťovou implementáciou môže viesť k inej trase.

Súvisiace články