Acreditări explicite pentru un .NET WebProxy
Atribuiți acreditările în mod explicit la construirea unui .NET WebProxy, în loc să presupuneți că un URI cu acreditări îi completează contul.
Un URI poate conține username:password înaintea gazdei sale. Asta nu înseamnă că fiecare API .NET care acceptă acel URI copiază informațiile utilizatorului într-un obiect de autentificare.
Când construiți WebProxy direct, faceți atribuirea acreditărilor explicită:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};Variabilele de endpoint și de cont sunt ilustrative. Astfel adresa destinației, adresa proxy-ului și contul proxy-ului rămân separate.
Dacă un format de intrare furnizează un URL cu acreditări, analizați în mod deliberat informațiile utilizatorului. Păstrați o parolă care conține două puncte împărțind doar la separatorul de acreditări și decodificați componentele codificate în etapa potrivită. Evitați tipărirea URL-ului original în timp ce diagnosticați acel parser.
Un URL de proxy care funcționează ca setare de mediu se poate comporta diferit atunci când este transmis altui constructor. Inițializarea proxy-ului de mediu are propria logică de analiză; nu este o promisiune că fiecare constructor consumă aceleași câmpuri.
În final, setați obiectul proxy configurat pe handlerul care execută cererea. Acreditările corecte pe un WebProxy neutilizat nu pot afecta conexiunea.