Explicitné poverenia pre .NET WebProxy
Pri vytváraní .NET WebProxy priraďte poverenia explicitne, namiesto predpokladu, že URI s povereniami vyplní jeho účet.
URI môže obsahovať username:password pred svojím hostiteľom. Neznamená to, že každé .NET API prijímajúce tento URI skopíruje používateľské informácie do autentifikačného objektu.
Pri priamom vytváraní WebProxy nastavte priradenie poverení explicitne:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};Premenné koncového bodu a účtu sú ilustratívne. Adresa cieľa, adresa proxy a účet proxy tak zostávajú oddelené.
Ak vstupný formát poskytuje URL s povereniami, analyzujte jeho používateľské informácie zámerne. Zachovajte heslo obsahujúce dvojbodky delením iba na oddeľovači poverení a dekódujte zakódované komponenty v správnej fáze. Pri diagnostike tohto parsera netlačte pôvodný URL.
Proxy URL, ktoré funguje ako nastavenie prostredia, sa môže pri odovzdaní inému konštruktoru správať odlišne. Inicializácia proxy z prostredia má vlastnú logiku analýzy; nie je prísľubom, že každý konštruktor spotrebuje rovnaké polia.
Nakoniec priraďte nakonfigurovaný proxy objekt obslužnej rutine, ktorá vykonáva požiadavku. Správne poverenia na nepoužívanom WebProxy nemôžu ovplyvniť pripojenie.