חבילת 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 או שימוש בחבילה עם מימוש רשת אחר יכולים להניב נתיב שונה.

מאמרים קשורים