សម្រាប់ WebProxy ផ្ទាល់ខ្លួន ដាក់គណនីប្រូកស៊ីលើវត្ថុនោះ។ លក្ខណៈព័ត៌មានចូល .NET ផ្សេងទៀតមានអ្នកទទួលផ្សេងគ្នា៖

លក្ខណៈអ្នកទទួល
WebProxy.Credentialsប្រូកស៊ីដែលវត្ថុនោះតំណាង។
HttpClientHandler.Credentialsម៉ាស៊ីនមេគោលដៅ។
DefaultProxyCredentialsប្រូកស៊ីលំនាំដើមរបស់ប្រព័ន្ធ នៅពេល Proxy ជា null ហើយ UseProxy ជា true។

ឧទាហរណ៍ .NET 10 នេះផ្ដល់ប្រូកស៊ីដែលកំណត់ច្បាស់ និងគណនីផ្ទាល់របស់វា៖

using System;
using System.Net;
using System.Net.Http;

string password = Environment.GetEnvironmentVariable("PROXY_PASSWORD")
    ?? throw new InvalidOperationException("Set PROXY_PASSWORD");

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential("proxy-user", password)
};

using var handler = new HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true
};
using var client = new HttpClient(handler)
{
    Timeout = TimeSpan.FromSeconds(15)
};

using var response = await client.GetAsync("https://example.com/");
Console.WriteLine((int)response.StatusCode);

ជំនួសចំណុចឯកសារ ហើយប្រើគណនីដែលអ្នកដំណើរការផ្ដល់។ ធាតុបញ្ជីដែលមិនត្រូវការផ្ទៀងផ្ទាត់ មិនត្រូវការព័ត៌មានចូលដែលប្រឌិតទេ។ ដោយ Proxy របស់ handler ត្រូវកំណត់ច្បាស់ DefaultProxyCredentials មិនជំនួស WebProxy.Credentials ទេ។

UseDefaultCredentials ក៏មានវិសាលភាពតាមវត្ថុ៖ ការផ្ទៀងផ្ទាត់ម៉ាស៊ីនមេរបស់ handler និងការផ្ទៀងផ្ទាត់ប្រូកស៊ីរបស់ WebProxy ខុសគ្នា។ ផ្ញើគណនីអ្នកប្រើដំណើរការមិនមែនចម្លើយទូទៅសម្រាប់ 407 ទេ។

បើការទាមទារផ្ទៀងផ្ទាត់នៅបន្ត ពិនិត្យវិធីពិត ចំណុចចុងដែលជ្រើស និងវត្ថុ client/handler។ ការផ្ទៀងផ្ទាត់ប្រូកស៊ីអាចកើតមុន TLS គោលដៅ ដូច្នេះបឋមកថា Authorization របស់គេហទំព័រមិនអាចឆ្លើយបាន។ ការគាំទ្រនៅតែអាស្រ័យលើ handler វេទិកា សេវា និងគោលការណ៍ដាក់ប្រើ។ មិនត្រូវការការប្ដូរប្រូកស៊ី Windows សកលទេ។

អត្ថបទពាក់ព័ន្ធ