ପ୍ରକ୍ସି URL ର UserInfo ଏ WebProxy.Credentials ନୁହେଁ
NetworkCredential ତିଆରି କରିବା ପୂର୍ବରୁ HTTP ପ୍ରକ୍ସି URI ରୁ ବ୍ୟବହାରକାରୀ ସୂଚନା ବାହାର କରି ଡିକୋଡ୍ କରନ୍ତୁ।
WebProxy ର URI ନିର୍ମାତା ଏକ ଶେଷ ବିନ୍ଦୁ ବାଛେ; ଏହା ସେ URI ର ବ୍ୟବହାରକାରୀ ସୂଚନାରୁ Credentials ପୂରଣ କରେ ନାହିଁ। ଆପ୍ଲିକେସନ୍ ଯାଞ୍ଚ କରିଥିବା HTTP ପ୍ରକ୍ସି URL ପାଇଁ:
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 ହେଉଛି ଦିଆଯାଇଥିବା ପ୍ରକ୍ସି URL, ୱେବସାଇଟ୍ URL ନୁହେଁ। Uri ଏହାର authority ବିଶ୍ଳେଷଣ କରେ, ଯେତେବେଳେ UriBuilder WebProxy ରେ ସଞ୍ଚିତ ଶେଷ ବିନ୍ଦୁରୁ ବ୍ୟବହାରକାରୀ ସୂଚନା ଅପସାରଣ କରେ।
ଉପାଦାନଗୁଡ଼ିକୁ ଡିକୋଡ୍ କରିବା ପୂର୍ବରୁ ପ୍ରଥମ ଆକ୍ଷରିକ କୋଲନ୍ରେ ବିଭକ୍ତ କରନ୍ତୁ। ଏହା ବ୍ୟବହାରକାରୀ ନାମ ଭିତରେ ଥିବା ଏନକୋଡ୍ ହୋଇଥିବା କୋଲନ୍ ସୁରକ୍ଷିତ ରଖେ ଏବଂ ପାସୱାର୍ଡର ଅତିରିକ୍ତ କୋଲନ୍ ପାସୱାର୍ଡରେ ରଖେ। ପ୍ରତ୍ୟେକ ଉପାଦାନକୁ ଥରେ ଡିକୋଡ୍ କରନ୍ତୁ; ପାସୱାର୍ଡକୁ Base64 ରେ ଏନକୋଡ୍ କରନ୍ତୁ ନାହିଁ, ବରଂ URL ଏସ୍କେପିଂ କରନ୍ତୁ।
ଶେଷରେ, ହ୍ୟାଣ୍ଡଲର୍ ଅନୁରୋଧ ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ proxy କୁ ଇଚ୍ଛିତ HTTP ହ୍ୟାଣ୍ଡଲର୍ ନିକଟରେ ନ୍ୟସ୍ତ କରନ୍ତୁ। କେବଳ ବସ୍ତୁ ନିର୍ମାଣ କରିବା ଅନ୍ୟ କ୍ଲାଏଣ୍ଟର ରାଉଟିଂ ନୀତି ବଦଳାଏ ନାହିଁ।