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.

Articole similare