Пакетът 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 прокси предоставя кандидати за HTTP прокси URL адресите в примерите.

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 или използването на пакет с друга мрежова реализация може да доведе до различен маршрут.

Подобни статии