Аргументот BypassList на System.Net.WebProxy содржи регуларни изрази. Шаблон како *.office.example е невалиден затоа што почетната ѕвездичка нема претходен израз што би го повторувала.

За HTTP и HTTPS барања до office.example и неговите поддомени, PowerShell конфигурацијата може да го користи следново:

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

Екранираните точки одговараат на буквални точки. Повторената група за ознака на име на домаќин дозволува и основниот домен и имињата под него. Анкерите го држат името како office.example.other.test надвор од ова правило. PowerShell низите во единечни наводници ги зачувуваат обратните коси црти што ги користи изразот.

Тековната .NET имплементација ги споредува овие изрази со шемата, името на домаќинот и нестандардната порта на одредиштето. Таа не ја вклучува патеката на барањето или низата за барање. Затоа опционалната група за порта дозволува и нестандардни порти; отстранете ја или стеснете ја ако политиката бара одредена услуга.

BypassProxyOnLocal е false во овој пример за да може regex политиката да се прегледа одделно од тоа дополнително поставување за заобиколување. Прикачете го добиениот прокси објект на HTTP клиентот што треба да го користи. За дозволен тест на јавен URL надвор од доменот за заобиколување, HTTP запис од HTTP proxy list може да ја достави неговата адреса, без конфигурирана прокси сметка.

Користете IsBypassed со репрезентативни Uri вредности за да ја проверите одлуката за рутирање: основниот домен, еден поддомен, неповрзан надворешен домаќин и измамлив подолг суфикс. Резултатот true значи дека е избран директен пристап; тој не докажува дека директното одредиште е достапно.

Поврзани статии