UserInfo na URL ɗin wakili ba WebProxy.Credentials ba ne
Ciro kuma ka warware bayanan mai amfani daga URI ɗin wakilin HTTP kafin ka ƙirƙiri NetworkCredential.
Mai gina URI na WebProxy yana zaɓar wurin ƙarshe; ba ya cika Credentials da bayanan mai amfani na wannan URI. Don URL ɗin wakilin HTTP da aikace-aikacen ya tabbatar:
var uri = new Uri(proxyUrl);
var endpoint = new UriBuilder(uri)
{
UserName = "",
Password = ""
};
var proxy = new System.Net.WebProxy(endpoint.Uri);
if (uri.UserInfo.Length > 0)
{
var parts = uri.UserInfo.Split(new[] { ':' }, 2);
var username = Uri.UnescapeDataString(parts[0]);
var password = parts.Length == 2
? Uri.UnescapeDataString(parts[1])
: "";
proxy.Credentials =
new System.Net.NetworkCredential(username, password);
}
proxyUrl ita ce URL ɗin wakilin da aka bayar, ba URL ɗin gidan yanar gizo ba. Uri yana nazarin authority ɗinta, yayin da UriBuilder ke cire bayanan mai amfani daga wurin ƙarshen da aka adana a cikin WebProxy.
Raba a farkon hanji na zahiri kafin ka warware sassan. Wannan yana kiyaye hanjin da aka lissafta a cikin sunan mai amfani kuma yana riƙe ƙarin hanjin kalmar sirri a cikin kalmar sirri. Ka warware kowane sashe sau ɗaya; kada ka lissafta kalmar sirri a Base64 a maimakon tserewar URL.
A ƙarshe, sanya proxy ga mai kula da HTTP da aka yi niyya kafin mai kula ya fara buƙatu. Gina abin kawai ba ya canza manufofin tafiyar abokin ciniki wani.