Shkruani hyrjet e anashkalimit të WebProxy si shprehje të rregullta
Ndërtoni një shprehje të vlefshme anashkalimi për System.Net.WebProxy me pika të shpëtuara dhe kufij të qartë të emrit të hostit në vend të një wildcard të stilit shell.
Argumeni BypassList i System.Net.WebProxy përmban shprehje të rregullta. Një model si *.office.example është i pavlefshëm sepse ylli fillestar nuk ka shprehje paraardhëse për të përsëritur.
Për kërkesat HTTP dhe HTTPS drejt office.example dhe nëndomenëve të tij, një konfigurim PowerShell mund të përdorë:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
Pikat e shpëtuara përputhen me pika të mirëfillta. Grupi i përsëritur i etiketës së emrit të hostit lejon si domenin bazë ashtu edhe emrat nën të. Ankorat mbajnë një emër si office.example.other.test jashtë këtij rregulli. Vargjet PowerShell me thonjëza të vetme ruajnë baksllashet që përdor shprehja.
Zbatimi aktual i .NET përputh këto shprehje me skemën, emrin e hostit dhe portin jo standard të destinacionit. Ai nuk përfshin shtegun e kërkesës ose vargun e pyetjes. Prandaj grupi opsional i portit lejon edhe porte jo standarde; hiqeni ose ngushtojeni nëse politika kërkon një shërbim të caktuar.
BypassProxyOnLocal është false në këtë shembull që politika e regex të mund të inspektohet veçmas nga ai cilësim shtesë anashkalimi. Lidhni objektin e proxy-t që rezulton me klientin HTTP që duhet ta përdorë. Për një test të lejuar të URL-së publike jashtë domenit të anashkalimit, një hyrje HTTP nga HTTP proxy list mund të japë adresën e saj, pa një llogari proxy të konfiguruar.
Përdorni IsBypassed me vlera Uri përfaqësuese për të inspektuar vendimin e rrugëtimit: domeni bazë, një nëndomen, një host i jashtëm i palidhur dhe një prapashtesë më e gjatë mashtruese. Një rezultat true do të thotë që u zgjodh aksesi i drejtpërdrejtë; nuk vërteton që destinacioni i drejtpërdrejtë është i arritshëm.