Пакет curl у R выкарыстоўвае libcurl. Таму проксі з асяроддзя працэсу можа ўжывацца нават тады, калі curl_fetch_memory не мае аргумента проксі ў выкліку:

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

Задайце асяроддзе да падрыхтоўкі запыту. Выкарыстоўвайце поўную канчатковую кропку, уключаючы патрэбныя scheme і port, замест таго каб меркаваць, што голы імя хоста азначае патрэбны пратакол. Для дазволеных запытаў да публічных сайтаў спіс HTTP-проксі падае кандыдатаў для URL HTTP-проксі з прыкладаў.

ALL_PROXY — гэта рэзервовы варыянт. Зменная асяроддзя проксі для пратаколу прызначэння мае прыярытэт, а адпаведны абыход NO_PROXY усё яшчэ можа выбраць прамое злучэнне. Праверце гэтыя значэнні, калі здаецца, што змена ALL_PROXY не дае эфекту.

Калі маршрут належыць аднаму handle, наладзьце яго яўна:

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

Параметр проксі ў handle перавышае выбар проксі з асяроддзя; палітыка абыходу застаецца актуальнай. Яўна пусты параметр проксі адключае выкарыстанне проксі, нават калі зменная асяроддзя проксі існуе.

Гэтыя налады ўплываюць на працуючы працэс R і запыты curl. Запуск іншай сесіі R або выкарыстанне пакета з іншай рэалізацыяй сеткі можа даць іншы маршрут.

Падобныя артыкулы