BypassList-argumentet i System.Net.WebProxy inneheld regulære uttrykk. Eit mønster som *.office.example er ugyldig fordi den innleiande stjerna ikkje har noko føregåande uttrykk å gjenta.

For HTTP- og HTTPS-førespurnader til office.example og underdomena sine kan ein PowerShell-konfigurasjon bruke:

$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
    'http://proxy.example:8080',
    $false,
    [string[]]$bypass
)

Dei escapade punkta svarar til bokstavelege punktum. Den gjentekne gruppa for vertsnamnetikett tillèt både basisdomenet og namn under det. Ankra held eit namn som office.example.other.test utanfor denne regelen. PowerShell-strengar i enkle gåsauge bevarar dei omvende skråstrekane som uttrykket brukar.

Den noverande .NET-implementasjonen samanliknar desse uttrykka med skjemaet, vertsnamnet og ikkje-standardporten til destinasjonen. Han omfattar ikkje førespurnadsstien eller spørjestrengen. Den valfrie portgruppa tillèt difor også ikkje-standardportar; fjern eller avgrens ho om policyen krev ei bestemt teneste.

BypassProxyOnLocal er false i dette dømet slik at regex-policyen kan undersøkjast åtskild frå den ekstra unntaksinnstillinga. Knyt det resulterande proxyobjektet til HTTP-klienten som skal bruke det. For ein tillaten offentleg URL-test utanfor unntaksdomenet kan ein HTTP-oppføring frå HTTP proxy list oppgje adressa si, utan ein konfigurert proxykonto.

Bruk IsBypassed med representative Uri-verdiar for å undersøkje rutevalet: basisdomenet, eitt underdomene, ein urelatert ekstern vert og eit villedande lengre suffiks. Eit true-resultat tyder at direkte tilgang vart vald; det beviser ikkje at den direkte destinasjonen er tilgjengeleg.

Relaterte artiklar