סקריפט PAC של Windows יכול לבחור פרוקסי לפי היעד. עבור הורדה שנעשית עם חבילת curl של R, שאל את עוזר Windows שלה על המסלול של אותה כתובת לפני יצירת handle ההעברה:

url <- "https://example.com/data.csv"
route <- curl::ie_get_proxy_for_url(url)
if (is.null(route)) route <- ""

handle <- curl::new_handle(proxy = route)
connection <- curl::curl(url, handle = handle)

קרא וסגור את החיבור דרך מחזור החיים הרגיל של החיבורים באפליקציה. הקטע קובע את המסלול עבור אותו curl handle; הוא אינו מגדיר כל חבילת רשת בתהליך R.

העוזר קורא את תצורת הפרוקסי הנוכחית של Windows. כאשר התצורה האוטומטית מופעלת, ההערכה עשויה לכלול הורדה והרצה של סקריפט PAC, ולכן החיפוש עצמו עשוי לקחת זמן. השתמש בכתובת היעד האמיתית ולא באתר בדיקה נוח שאינו קשור.

העוזר מחזיר NULL כאשר לא נבחר פרוקסי. מחרוזת הפרוקסי הריקה המפורשת בדוגמה אומרת ל-libcurl לבצע העברה זו ישירות, במקום לחזור למשתנה סביבה של פרוקסי שנשאר בסשן.

כתובת של קובץ PAC אינה נקודת הקצה של הפרוקסי שמתקבלת. העברת כתובת הסקריפט הזו כערך הפרוקסי של ה-handle אינה מבקשת מ-libcurl להעריך את הסקריפט.

החיפוש הזה מחזיר פרוקסי נבחר, ולא מנוע מעבר מלא ושווה ערך לדפדפן עבור כל מועמד PAC. הוא גם אינו מספק פרטי אימות. השאר את הטיפול מקומי אצל לקוח Windows והעברת curl שבאמת זקוקים למדיניות הזו.

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