Експлицитни акредитиви за .NET WebProxy
Доделите акредитиве експлицитно при креирању .NET WebProxy, уместо да претпостављате да URI са акредитивима попуњава његов налог.
URI може да садржи username:password пре свог хоста. То не значи да сваки .NET API који прихвата тај URI копира корисничке информације у објекат за аутентификацију.
Када креирате WebProxy директно, учините доделу акредитива експлицитном:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};Променљиве endpoint-а и налога су илустративне. Тако адреса одредишта, адреса проксија и налог проксија остају одвојени.
Ако улазни формат обезбеђује URL са акредитивима, свесно парсирајте његове корисничке информације. Сачувајте лозинку која садржи две тачке тако што ћете делити само на сепаратору акредитива и декодирајте кодиране компоненте у одговарајућој фази. Избегавајте штампање оригиналног URL-а док дијагностикујете тај парсер.
Proxy URL који ради као подешавање окружења може се понашати другачије када се проследи другом конструктору. Иницијализација проксија из окружења има сопствену логику парсирања; то није обећање да сваки конструктор троши иста поља.
На крају, поставите конфигурисани proxy објекат на руковаоца који извршава захтев. Исправни акредитиви на неискоришћеном WebProxy не могу утицати на везу.