מה resolveProxy של Electron מחזיר
המתן להחלטה הספציפית ל-URL מההפעלה (session) בפועל של החלון והבחן בין המחרוזת בסגנון PAC שמוחזרת לבין חיבור שהושלם.
בפונקציית תהליך ראשי אסינכרונית עם חלון קיים, שאל את ה-session שהחלון באמת משתמש בו:
const selectedSession = mainWindow.webContents.session;
const route = await selectedSession.resolveProxy('https://api.example/');
ה-API הנוכחי מחזיר Promise שמתממש למחרוזת. המתן לפעולת setProxy תלויה לפני בדיקת שינוי תצורה.
התוצאה היא החלטת proxy ספציפית ל-URL. ערך היפותטי יכול להיות:
PROXY proxy-a.example:8080; PROXY proxy-b.example:8080; DIRECT
זו רשימת מועמדים מסודרת בתחביר בסגנון PAC, ולא שם מארח אחד. DIRECT מייצג במפורש מועמד ישיר. טפל בתוצאה ריקה בנפרד; אל תתייחס בשקט לכל מחרוזת ריקה או לא מזוהה כ-DIRECT.
שאל את כתובת ה-URL האמיתית של היעד, כי החלטות PAC ועקיפה יכולות להשתנות לפי היעד. כמו כן, ייתכן שלחלון שמשתמש ב-session מחולק אין את אותה מדיניות כמו ל-session.defaultSession.
פתרון proxy יכול לכלול עבודת תצורה אוטומטית כגון השגת סקריפט PAC. הבחירה שמוחזרת עדיין אינה בקשה שהושלמה לאתר היעד, אינה התחברות proxy מוצלחת ואינה הוכחה לכתובת ה-IP הציבורית של היציאה. שמור את ה-session, כתובת ה-URL והמועמדים שנפתרו כאשר אתה משווה אותם לתוצאה של הבקשה הבאה.