Skriuw WebProxy-omgongynskriuwings as reguliere útdrukkingen
Bou in jildige omgongútdrukking foar System.Net.WebProxy mei ûntwike punten en eksplisite grinzen fan hostnamme ynstee fan in shell-achtich wildcard.
It BypassList-argumint fan System.Net.WebProxy befettet reguliere útdrukkingen. In patroan lykas *.office.example is ûnjildich, om't de foarste stjer gjin foarôfgeande útdrukking hat om te werheljen.
Foar HTTP- en HTTPS-oanfragen nei office.example en syn subdomeinen kin in PowerShell-konfiguraasje dit brûke:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
De ûntwike punten komme oerien mei letterlike punten. De werhelle groep fan hostnamme-label lit sawol it basisdomein as nammen dêrûnder ta. De ankers hâlde in namme lykas office.example.other.test bûten dizze regel. PowerShell-strings yn ienfâldige oanheltingstekens behâlde de efteroer skeane streken dy't de útdrukking brûkt.
De hjoeddeiske .NET-ymplemintaasje ferliket dizze útdrukkingen mei skema, hostnamme en net-standert poarte fan it doel. It befettet net it oanfraachpaad of de oanfraachstring. Dêrom lit de opsjonele poartegroep ek net-standert poarten ta; ferwiderje of ferfynje it as it belied in spesifike tsjinst freget.
BypassProxyOnLocal is false yn dit foarbyld, sadat it regex-belied apart fan dy ekstra omgongynstelling besjoen wurde kin. Koppelje it resultearjende proxy-objekt oan 'e HTTP-klant dy't it brûke moat. Foar in tastiene iepenbiere URL-test bûten it omgongdomein kin in HTTP-ynskriuwing út 'e HTTP proxy list syn adres leverje, sûnder konfigureare proxy-account.
Brûk IsBypassed mei representatyf Uri-wearden om de routingbeslissing te besjen: it basisdomein, ien subdomein, in net-relatearre eksterne host en in misliedend langer efterheaksel. In true-resultaat betsjut dat direkte tagong keazen is; it bewissiget net dat it direkte doel berikber is.