প্ৰক্সি 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 ত সংৰক্ষিত এণ্ডপইণ্টৰ পৰা ব্যৱহাৰকাৰী তথ্য আঁতৰায়।
কম্পোনেণ্টসমূহ ডিক’ড কৰাৰ আগতে প্ৰথম আক্ষৰিক ক’লনত বিভক্ত কৰক। ই ব্যৱহাৰকাৰী নামৰ ভিতৰত এনক’ড কৰা ক’লন সংৰক্ষণ কৰে আৰু পাছৱৰ্ডৰ ভিতৰত অতিৰিক্ত ক’লন ৰাখে। প্ৰতিটো কম্পোনেণ্ট এবাৰ ডিক’ড কৰক; URL এস্কেপিং ৰ বিকল্প হিচাপে পাছৱৰ্ড Base64-এনক’ড নকৰিব।
অৱশেষত, হেণ্ডলাৰে অনুৰোধ আৰম্ভ কৰাৰ আগতে proxy ক ইচ্ছিত HTTP হেণ্ডলাৰত নিয়োগ কৰক। কেৱল বস্তুটো সৃষ্টি কৰিলে আন ক্লায়েণ্টৰ ৰাউটিং নীতি সলনি নহয়।