A System.Net.WebProxy BypassList argumentuma reguláris kifejezéseket tartalmaz. Az *.office.example mintájú minta érvénytelen, mert a kezdő csillagnak nincs ismételhető előző kifejezése.

Az office.example és aldomeinjai felé irányuló HTTP- és HTTPS-kérésekhez egy PowerShell-konfiguráció ezt használhatja:

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

Az escape-elt pontok szó szerinti pontokra illeszkednek. Az ismételt gazdanév-címkecsoport egyszerre engedi meg az alapdomaint és az alatta lévő neveket. A horgonyok az office.example.other.testhez hasonló nevet e szabályon kívül tartják. Az egyszeres idézőjelbe tett PowerShell-karakterláncok megőrzik a kifejezés által használt visszafelé dőlt perjeleket.

A jelenlegi .NET-implementáció ezeket a kifejezéseket a cél sémájához, gazdanevéhez és nem alapértelmezett portjához illeszti. Nem tartalmazza a kérés útvonalát vagy lekérdező karakterláncát. Ezért az opcionális portcsoport a nem alapértelmezett portokat is engedi; távolítsa el vagy szűkítse, ha a házirend adott szolgáltatást követel.

Ebben a példában a BypassProxyOnLocal false, hogy a regex-házirend külön vizsgálható legyen ettől a további kivételbeállítástól. Csatolja az eredményül kapott proxyobjektumot ahhoz a HTTP-ügyfélhez, amelynek használnia kell. A kivételdomainen kívüli engedélyezett nyilvános URL-teszthez a HTTP proxy list egyik HTTP-bejegyzése szolgáltathatja a címét, beállított proxyfiók nélkül.

Használja az IsBypassed metódust reprezentatív Uri-értékekkel az útválasztási döntés vizsgálatához: az alapdomain, egy aldomain, egy független külső gazdagép és egy megtévesztő, hosszabb utótag. A true eredmény azt jelenti, hogy közvetlen hozzáférést választott; nem bizonyítja, hogy a közvetlen cél elérhető.

Kapcsolódó cikkek