ពិនិត្យច្បាប់ NO_PROXY របស់ .NET ជាមួយ HttpClient.DefaultProxy.IsBypassed
រាយទាំងដែនទទេ និងទម្រង់ដែលមានចំណុចនៅខាងមុខ នៅពេល HttpClient ត្រូវឆ្លងកាត់ប្រូកស៊ីសម្រាប់ទាំងពីរ បន្ទាប់មកពិនិត្យ IsBypassed។
យោងតាមគោលនយោបាយប្រូកស៊ីបរិស្ថានដែលបានចងក្រងរបស់ HttpClient គឺ example.internal និង .example.internal ត្រូវគ្នាខុសគ្នា។ ឈ្មោះទទេជ្រើសរើសម៉ាស៊ីនមេមេ ហើយទម្រង់ដែលមានចំណុចនៅខាងមុខជ្រើសរើសដែនរងរបស់វា។
ប្រសិនបើទាំងពីរត្រូវដើរត្រង់ សូមបញ្ចូលទាំងពីរទៅក្នុងបរិស្ថានចាប់ផ្ដើម៖
export no_proxy='example.internal,.example.internal'
បញ្ចូលពួកវាជាមួយបញ្ជីឆ្លងកាត់ដែលមានស្រាប់តាមគោលបំណង។ នៅលើប្រព័ន្ធដែលឈ្មោះអថេរបែងចែកអក្សរធំ និងអក្សរតូច .NET ពិនិត្យឈ្មោះបរិស្ថានប្រូកស៊ីអក្សរតូចមុន បន្ទាប់មកអក្សរធំ ដូច្នេះ no_proxy ចាស់អាចមានអាទិភាពលើ NO_PROXY។
នៅក្នុងកម្មវិធី អាចពិនិត្យឧបករណ៍ជ្រើសរើសលំនាំដើមដោយមិនចាំបាច់ផ្ញើសំណើ HTTP ទៅគោលដៅ៖
foreach (var host in new[] {
"example.internal", "api.example.internal", "other.internal"
})
{
var uri = new Uri("https://" + host + "/");
Console.WriteLine($"{host}: bypass={HttpClient.DefaultProxy.IsBypassed(uri)}");
}
ផ្នែកនេះប្រើ System និង System.Net.Http។ ប្រសិនបើកម្មវិធីបានផ្ដល់ IWebProxy ផ្សេងយ៉ាងច្បាស់ សូមពិនិត្យប្រូកស៊ីពិតរបស់ឧបករណ៍គ្រប់គ្រងជំនួសវិញ។ កំណត់បរិស្ថានដែលចង់បានមុនពេលប្រូកស៊ីលំនាំដើមត្រូវបានចាប់ផ្ដើម។
ទាំងនេះជាច្បាប់ដែលបានចងក្រងរបស់ .NET។ លទ្ធផល curl ដែលប្រើខ្សែអក្សរដូចគ្នាមិនបញ្ជាក់ថាកម្មវិធីអតិថិជនផ្សេងជ្រើសផ្លូវដូចគ្នាទេ ហើយការសម្រេចឆ្លងកាត់នៅតែត្រូវការការភ្ជាប់បណ្ដាញដោយផ្ទាល់។