ALL_PROXY je náhradní cesta pro požadavky curl v R
Nastavte v procesu R úplnou proxy URL, poté počítejte s proměnnými pro jednotlivé protokoly, pravidly obejití a explicitními volbami curl handle.
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.