Argumentul BypassList al System.Net.WebProxy conține expresii regulate. Un model precum *.office.example este invalid deoarece asteriscul inițial nu are o expresie anterioară pe care să o repete.

Pentru cererile HTTP și HTTPS către office.example și subdomeniile sale, o configurație PowerShell poate folosi:

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

Punctele escapate corespund punctelor literale. Grupul repetat al etichetei numelui de gazdă admite atât domeniul de bază, cât și numele de sub el. Ancorele mențin un nume precum office.example.other.test în afara acestei reguli. Șirurile PowerShell în ghilimele simple păstrează barele oblice inverse folosite de expresie.

Implementarea .NET actuală compară aceste expresii cu schema, numele de gazdă și portul nestandard al destinației. Nu include calea cererii sau șirul de interogare. Prin urmare, grupul de port opțional permite și porturi nestandard; eliminați-l sau restrângeți-l dacă politica cere un serviciu anume.

BypassProxyOnLocal este false în acest exemplu pentru ca politica expresiei regulate să poată fi examinată separat de acea setare suplimentară de excepție. Atașați obiectul proxy rezultat clientului HTTP care ar trebui să îl folosească. Pentru un test permis de URL public în afara domeniului de excepție, o intrare HTTP din HTTP proxy list poate furniza adresa, fără un cont proxy configurat.

Folosiți IsBypassed cu valori Uri reprezentative pentru a examina decizia de rutare: domeniul de bază, un subdomeniu, o gazdă externă fără legătură și un sufix mai lung înșelător. Un rezultat true înseamnă că s-a ales accesul direct; nu demonstrează că destinația directă este accesibilă.

Articole similare