הערכת כתובות PAC המוחזרות על ידי CFNetworkCopyProxiesForURL
המר את תוצאות תצורת הפרוקסי האוטומטית של CFNetwork למסלולים ייעודיים ליעד, בלי להתבלבל בין כתובת ה-PAC לנקודת הקצה של הפרוקסי.
היישום שלך שואל את CFNetwork איך להגיע לאתר ומקבל כתובת URL שמסתיימת ב-.pac. הכנסת שם המארח הזה לחיבור ה-socket היא דרך שגויה: הוא מזהה סקריפט תצורה.
CFNetworkCopyProxiesForURL מחזיר מערך מסודר של מילונים עבור כתובת היעד. בדוק את kCFProxyTypeKey לפני קריאת שדות נקודת הקצה. מילון מסוג kCFProxyTypeAutoConfigurationURL מספק את kCFProxyAutoConfigurationURLKey, אשר דורש שלב הערכה נוסף.
- קבל את הגדרות הפרוקסי הנוכחיות של המערכת ובקש מסלולים לכתובת היעד האמיתית.
- כאשר תוצאה מפנה לכתובת PAC, הערך את הסקריפט הזה עבור אותו יעד.
- קרא את סוגי המועמדים ונקודות הקצה שהתקבלו. פרוקסי HTTP, פרוקסי SOCKS ומסלול ישיר דורשים טיפול שונה בחיבור.
- שמור על סדר המועמדים בעת החלת התנהגות הכשל והגיבוי המותרת.
CFNetworkExecuteProxyAutoConfigurationURL מוריד ומעריך את הסקריפט באופן אסינכרוני. ערך ההחזרה המיידי שלו הוא מקור run loop. תזמן את המקור הזה; הקריאה החוזרת מספקת את תוצאת ההערכה או את השגיאה לאחר סיום העבודה. יצירת המקור וקריאה מיידית של משתנה תוצאה ריק אינה ממתינה לדבר. בטל את המקור אם יש לבטל את הפעולה.
השאר את כתובת היעד מחוברת לחיפוש. סקריפט PAC יכול לבחור מסלולים שונים לשני מארחים, ולכן שמירת פרוקסי אחד שנפתר כתשובה לכל יעד עוקב משנה את המדיניות של הסקריפט. באופן דומה, מועמד ישיר הוא מסלול מפורש, לא שם מארח פרוקסי חסר.
ממשקי API אלה שימושיים כאשר שכבת תעבורה מותאמת חייבת לפרש את הגדרות המערכת. הם אינם מיישמים את פרוטוקול הפרוקסי העוקב עבור אותה שכבת תעבורה, והחיפוש אינו שולף סיסמאות מ-Keychain. ב-macOS, התאם בנפרד את אישור הפרוקסי ב-Keychain.