שימוש ב-go-ieproxy לבחירת פרוקסי לפי URL ב-Windows
השתמשו ב-go-ieproxy.GetProxyFunc על transport בבעלותכם במקום לשטח את המדיניות האוטומטית של Windows לערכי סביבה סטטיים.
כאשר go-ieproxy כבר זמין וה-transport המוגדר כברירת מחדל עדיין מותקן, חברו את פונקציית הפרוקסי מודעת-הבקשה שלו:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}ייבאו את net/http, time ו-github.com/mattn/go-ieproxy, והעבירו את בקשות עומס העבודה דרך client. בדיקת הטיפוס מחייבת ש-DefaultTransport יישאר http.Transport.
GetProxyFunc מכסה הגדרות סטטיות, סקריפט תצורה אוטומטית מפורש וגילוי אוטומטי מלא. החיפוש שלו ב-Windows משתמש בתצורה של המשתמש הנוכחי, וחוזר לרישום אם הקריאה הראשונה ל-API נכשלת.
OverrideEnvWithStaticProxy בוחר אחרת: הוא מייצא הגדרות ידניות ואינו יכול לשמר החלטות אוטומטיות לפי יעד. השתמשו בהמרה הזו רק למדיניות סטטית במכוון.
עבור שירות Windows, המשתמש הנוכחי עשוי להיות שונה ממשתמש שולחן העבודה שהדפדפן שלו עובד. בדקו את חשבון השירות ואת היעד בפועל כשאתם משווים את התוצאה. הגילוי מספק מועמד למסלול, לא אימות ולא הבטחה שנקודת הקצה נגישה.