សរសេរធាតុឆ្លងកាត់ WebProxy ជាកន្សោមធម្មតា
បង្កើតកន្សោមឆ្លងកាត់ System.Net.WebProxy ត្រឹមត្រូវ ដោយប្រើចំណុចដែលបានគេច និងព្រំដែនឈ្មោះម៉ាស៊ីនច្បាស់លាស់ ជំនួសឱ្យសញ្ញាជំនួសបែប shell។
អាគុយម៉ង់ BypassList នៃ System.Net.WebProxy មានកន្សោមធម្មតា។ លំនាំដូចជា *.office.example មិនត្រឹមត្រូវ ព្រោះផ្កាយនៅដើមគ្មានកន្សោមមុនដែលត្រូវធ្វើម្តងទៀត។
សម្រាប់សំណើ HTTP និង HTTPS ទៅ office.example និងដែនរងរបស់វា ការកំណត់ PowerShell អាចប្រើ៖
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
ចំណុចដែលបានគេចត្រូវនឹងចំណុចពិត។ ក្រុមស្លាកឈ្មោះម៉ាស៊ីនដែលធ្វើម្តងទៀតអនុញ្ញាតទាំងដែនមូលដ្ឋាន និងឈ្មោះនៅក្រោមវា។ យុថ្ការក្សាឈ្មោះដូចជា office.example.other.test ឱ្យនៅក្រៅច្បាប់នេះ។ ខ្សែអក្សរ PowerShell ក្នុងសញ្ញាការុងតែមួយរក្សាសញ្ញាខ្វែងថយក្រោយដែលកន្សោមប្រើ។
ការអនុវត្ត .NET បច្ចុប្បន្នផ្គូផ្គងកន្សោមទាំងនេះជាមួយស្គីម៉ា ឈ្មោះម៉ាស៊ីន និងច្រកមិនលំនាំដើមរបស់គោលដៅ។ វាមិនរួមបញ្ចូលផ្លូវសំណើ ឬខ្សែអក្សរសំណួរទេ។ ដូច្នេះក្រុមច្រកស្រេចចិត្តក៏អនុញ្ញាតច្រកមិនលំនាំដើមដែរ;សូមលុប ឬបង្រួមវា ប្រសិនបើគោលនយោបាយទាមទារសេវាជាក់លាក់។
BypassProxyOnLocal ជា false ក្នុងឧទាហរណ៍នេះ ដើម្បីឱ្យគោលនយោបាយ regex អាចពិនិត្យដោយឡែកពីការកំណត់ឆ្លងកាត់បន្ថែមនោះ។ ភ្ជាប់វត្ថុ proxy ដែលទទួលបានទៅកាន់ឧបករណ៍ភ្ញៀវ HTTP ដែលគួរប្រើវា។ សម្រាប់ការសាកល្បង URL សាធារណៈដែលអនុញ្ញាតនៅក្រៅដែនឆ្លងកាត់ ធាតុ HTTP ពី HTTP proxy list អាចផ្តល់អាសយដ្ឋានរបស់វា ដោយមិនមានគណនី proxy ដែលបានកំណត់។
ប្រើ IsBypassed ជាមួយតម្លៃ Uri តំណាង ដើម្បីពិនិត្យការសម្រេចចិត្តបញ្ជូនផ្លូវ៖ ដែនមូលដ្ឋាន ដែនរងមួយ ម៉ាស៊ីនខាងក្រៅដែលមិនពាក់ព័ន្ធ និងបច្ច័យវែងជាងដែលបំភាន់។ លទ្ធផល true មានន័យថាបានជ្រើសការចូលប្រើដោយផ្ទាល់;វាមិនបញ្ជាក់ថាគោលដៅផ្ទាល់អាចទៅដល់បានទេ។