Paket curl di R memakai libcurl. Karena itu proxy dari lingkungan proses dapat berlaku meskipun curl_fetch_memory tidak memiliki argumen proxy dalam pemanggilan:

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

Setel lingkungan sebelum menyiapkan permintaan. Gunakan endpoint lengkap, termasuk scheme dan port yang dimaksud, alih-alih menganggap nama host telanjang berarti protokol yang tepat. Untuk permintaan ke situs publik yang diizinkan, daftar proxy HTTP menyediakan kandidat untuk URL proxy HTTP pada contoh.

ALL_PROXY adalah jalur cadangan. Variabel lingkungan proxy untuk protokol tujuan tetap diutamakan, dan lewati NO_PROXY yang cocok masih dapat memilih koneksi langsung. Periksa nilai tersebut ketika mengubah ALL_PROXY tampak tidak berpengaruh.

Untuk rute yang menjadi milik satu handle, konfigurasikan secara eksplisit:

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

Opsi proxy pada handle mengalahkan pemilihan proxy dari lingkungan; kebijakan lewati tetap relevan. Opsi proxy yang secara eksplisit kosong menonaktifkan penggunaan proxy meskipun variabel lingkungan proxy ada.

Setelan ini memengaruhi proses R yang berjalan dan permintaan curl. Memulai sesi R lain atau memakai paket dengan implementasi jaringan lain dapat menghasilkan rute yang berbeda.

Artikel terkait