UserInfo នៃ URL ប្រុកស៊ីមិនមែនជា WebProxy.Credentials ទេ
ដកស្រង់ និងឌិកូដព័ត៌មានអ្នកប្រើពី HTTP ប្រុកស៊ី URI មុនពេលបង្កើត NetworkCredential។
អ្នកសាងសង់ URI របស់ WebProxy ជ្រើសរើសចំណុចបញ្ចប់មួយ; វាមិនបំពេញ Credentials ពីព័ត៌មានអ្នកប្រើនៃ URI នោះទេ។ សម្រាប់ URL ប្រុកស៊ី HTTP ដែលកម្មវិធីផ្ទៀងផ្ទាត់៖
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 ដែលបានបម្រុងទុក មុនពេលអ្នកគ្រប់គ្រងនោះចាប់ផ្តើមសំណើ។ ការបង្កើតវត្ថុតែម្នាក់ឯងមិនផ្លាស់ប្តូរគោលនយោបាយផ្លូវរបស់អតិថិជនផ្សេងទេ។