Balíček curl v R používá libcurl. Proxy z prostředí procesu se proto může uplatnit i tehdy, když curl_fetch_memory nemá ve volání žádný argument proxy:

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

Nastavte prostředí ještě před přípravou požadavku. Použijte úplný koncový bod včetně zamýšleného schématu a portu, místo abyste předpokládali, že holé jméno hostitele znamená správný protokol. Pro povolené požadavky na veřejné stránky poskytuje seznam HTTP proxy kandidáty pro HTTP proxy URL z příkladů.

ALL_PROXY je náhradní cesta. Proměnná prostředí proxy pro protokol cíle má přednost a odpovídající obejití NO_PROXY může stále zvolit přímé připojení. Zkontrolujte tyto hodnoty, když se zdá, že změna ALL_PROXY nemá žádný účinek.

Pro trasu, která patří jednomu handle, ji nastavte explicitně:

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

Volba proxy na handle přebíjí výběr proxy z prostředí; zásady obejití zůstávají relevantní. Explicitně prázdná volba proxy vypne použití proxy, i když proměnná prostředí proxy existuje.

Tato nastavení ovlivňují běžící proces R a požadavky curl. Spuštění jiné relace R nebo použití balíčku s jinou síťovou implementací může vést k jiné trase.

Související články