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 provjeru identiteta.
Kada WebProxy kreirate direktno, učinite dodjelu 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, svjesno parsirajte njegove korisničke podatke. Sačuvajte lozinku koja sadrži dvotačke dijeljenjem samo na separatoru akreditiva i dekodirajte kodirane komponente u odgovarajućoj fazi. Izbjegavajte ispisivanje originalnog URL-a dok dijagnosticirate taj parser.
Proxy URL koji radi kao postavka okruženja može se ponašati drugačije kada se proslijedi drugom konstruktoru. Inicijalizacija proxyja iz okruženja ima vlastitu logiku parsiranja; to nije obećanje da svaki konstruktor troši ista polja.
Na kraju, postavite konfigurirani proxy objekat na rukovalac koji izvršava zahtjev. Ispravni akreditivi na nekorištenom WebProxy ne mogu uticati na vezu.