Eksplicitni akreditivi za .NET WebProxy
Dodijelite akreditive eksplicitno pri kreiranju .NET WebProxy, umjesto da pretpostavljate da URI s akreditivima popunjava njegov račun.
URI može sadržavati username:password prije svog hosta. To ne znači da svaki .NET API koji prihvata taj URI kopira korisničke podatke u objekt za proveru identiteta.
Kada WebProxy kreirate direktno, učinite dodelu akreditiva eksplicitnom:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};Varijable endpointa i računa su ilustrativne. Time se adresa odredišta, adresa proxyja i proxy račun drže odvojenim.
Ako format unosa daje URL s akreditivima, svesno parsirajte njegove korisničke podatke. Sačuvajte lozinku koja sadrži dvotačke deljenjem samo na separatoru akreditiva i dekodirajte kodirane komponente u odgovarajućoj fazi. Izbegavajte ispisivanje originalnog URL-a dok dijagnostikujete taj parser.
Proxy URL koji radi kao postavka okruženja može se ponašati drugačije kada se prosledi drugom konstruktoru. Inicijalizacija proxyja iz okruženja ima sopstvenu logiku parsiranja; to nije obećanje da svaki konstruktor troši ista polja.
Na kraju, postavite konfigurisani proxy objekat na rukovaoca koji izvršava zahtev. Ispravni akreditivi na nekorišćenom WebProxy ne mogu uticati na vezu.