URI יכול להכיל username:password לפני המארח שלו. זה לא אומר שכל API של .NET שמקבל את ה-URI הזה מעתיק את פרטי המשתמש לאובייקט אימות.

בעת בניית WebProxy ישירות, הפכו את הקצאת פרטי האימות למפורשת:

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

המשתנים של נקודת הקצה והחשבון הם להמחשה. כך נשמרים בנפרד כתובת היעד, כתובת ה-proxy וחשבון ה-proxy.

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

URL של proxy שעובד כהגדרת סביבה עשוי להתנהג אחרת כשהוא מועבר לבנאי אחר. אתחול ה-proxy מהסביבה כולל לוגיקת ניתוח משלו; זו אינה הבטחה שכל בנאי צורך את אותם שדות.

לבסוף, הציבו את אובייקט ה-proxy המוגדר על המטפל שמבצע את הבקשה. פרטי אימות נכונים על WebProxy שאינו בשימוש אינם יכולים להשפיע על החיבור.

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