Argument BypassList klase System.Net.WebProxy sadrži regularne izraze. Uzorak poput *.office.example nije valjan jer zvjezdica na početku nema prethodni izraz koji bi ponavljala.

Za HTTP i HTTPS zahtjeve prema office.example i njegovim poddomenama, PowerShell konfiguracija može koristiti:

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

Escapovane tačke odgovaraju doslovnim tačkama. Ponovljena grupa oznake imena hosta dopušta i osnovnu domenu i imena ispod nje. Sidra drže ime poput office.example.other.test izvan ovog pravila. PowerShell stringovi u jednostrukim navodnicima čuvaju obrnute kose crte koje izraz koristi.

Trenutna .NET implementacija poredi ove izraze sa šemom odredišta, imenom hosta i nestandardnim portom. Ne uključuje putanju zahtjeva ni niz upita. Zato opcionalna grupa porta dopušta i nestandardne portove; uklonite je ili suzite ako pravila zahtijevaju određenu uslugu.

BypassProxyOnLocal je false u ovom primjeru kako bi se regex pravilo moglo provjeriti odvojeno od te dodatne postavke izuzetka. Prikačite dobijeni proxy objekat HTTP klijentu koji ga treba koristiti. Za dopušteni test javnog URL-a izvan domene izuzetka, HTTP zapis iz HTTP proxy list može dati svoju adresu, bez konfigurisanog proxy računa.

Koristite IsBypassed sa reprezentativnim Uri vrijednostima da provjerite odluku o usmjeravanju: osnovna domena, jedna poddomena, nepovezani vanjski host i obmanjujući duži sufiks. Rezultat true znači da je odabran direktan pristup; on ne dokazuje da je direktno odredište dostupno.

Povezani članci