Пакет 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 або використання пакета з іншою реалізацією мережі може дати інший маршрут.

Схожі статті