Isulat ang mga entry ng bypass ng WebProxy bilang mga regular na expression
Bumuo ng wastong expression ng bypass para sa System.Net.WebProxy na may mga naka-escape na tuldok at malinaw na hangganan ng hostname sa halip na wildcard na parang shell.
Ang argumentong BypassList ng System.Net.WebProxy ay naglalaman ng mga regular na expression. Ang pattern na tulad ng *.office.example ay hindi wasto dahil ang nangungunang asterisk ay walang naunang expression na uulitin.
Para sa mga kahilingang HTTP at HTTPS sa office.example at sa mga subdomain nito, maaaring gamitin ng isang configuration ng PowerShell ang:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
Ang mga naka-escape na tuldok ay tumutugma sa literal na tuldok. Ang paulit-ulit na pangkat ng label ng hostname ay tumatanggap ng base domain at ng mga pangalan sa ilalim nito. Ang mga anchor ay nagpapanatili ng pangalang tulad ng office.example.other.test sa labas ng tuntuning ito. Ang mga string ng PowerShell sa nag-iisang panipi ay nagpapanatili ng mga backslash na ginagamit ng expression.
Ang kasalukuyang pagpapatupad ng .NET ay tumutugma sa mga expression na ito sa scheme, hostname at di-default na port ng destinasyon. Hindi nito kasama ang landas ng kahilingan o ang query string. Kaya pinapayagan din ng opsyonal na pangkat ng port ang di-default na port; alisin o paliitin ito kung kailangan ng patakaran ang isang partikular na serbisyo.
Ang BypassProxyOnLocal ay false sa halimbawang ito upang masuri ang patakaran ng regex nang hiwalay sa karagdagang setting ng bypass na iyon. Ikabit ang resultang proxy object sa HTTP client na dapat gumamit nito. Para sa pinapayagang pagsubok ng pampublikong URL sa labas ng bypass domain, ang entry na HTTP mula sa HTTP proxy list ay maaaring magbigay ng address nito, nang walang naka-configure na proxy account.
Gamitin ang IsBypassed na may mga representatibong halaga ng Uri upang suriin ang desisyon sa pagruruta: ang base domain, isang subdomain, isang walang kaugnayang panlabas na host at isang mapanlinlang na mas mahabang suffix. Ang resultang true ay nangangahulugang pinili ang direktang pag-access; hindi nito pinapatunayan na maaabot ang direktang destinasyon.