Skryf WebProxy-omseilingsinskrywings as gereelde uitdrukkings
Bou 'n geldige System.Net.WebProxy-omseilingsuitdrukking met ontsnapte punte en eksplisiete gasheernaamgrense in plaas van 'n dop-agtige wildkaart.
Die BypassList-argument van System.Net.WebProxy bevat gereelde uitdrukkings. 'n Patroon soos *.office.example is ongeldig, want die voorste asterisk het geen voorafgaande uitdrukking om te herhaal nie.
Vir HTTP- en HTTPS-versoeke aan office.example en sy subdomeine kan 'n PowerShell-konfigurasie die volgende gebruik:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
Die ontsnapte punte pas by letterlike punte. Die herhaalde etiketgroep van die gasheernaam laat beide die basisdomein en name daaronder toe. Die ankers hou 'n naam soos office.example.other.test buite hierdie reël. PowerShell-stringe met enkele aanhalingstekens behou die terugskuinsstrepe wat die uitdrukking gebruik.
Die huidige .NET-implementering pas hierdie uitdrukkings teen die bestemming se skema, gasheernaam en nie-verstekpoort. Dit sluit nie die versoekpad of navraagstring in nie. Die opsionele poortgroep laat dus ook nie-verstekpoorte toe; verwyder of vernou dit as die beleid 'n spesifieke diens vereis.
BypassProxyOnLocal is onwaar in hierdie voorbeeld sodat die regex-beleid afsonderlik van daardie bykomende omseilingsinstelling ondersoek kan word. Koppel die resulterende proxy-objek aan die HTTP-kliënt wat dit moet gebruik. Vir 'n toegelate publieke URL-toets buite die omseilingsdomein kan 'n HTTP-inskrywing uit die HTTP proxy list sy adres verskaf, sonder 'n gekonfigureerde proxy-rekening.
Gebruik IsBypassed met verteenwoordigende Uri-waardes om die herleidingsbesluit te ondersoek: die basisdomein, een subdomein, 'n onverwante eksterne gasheer en 'n misleidende langer agtervoegsel. 'n Ware resultaat beteken dat direkte toegang gekies is; dit bewys nie dat die direkte bestemming bereikbaar is nie.