System.Net.WebProxy'nin BypassList bağımsız değişkeni düzenli ifadeler içerir. *.office.example gibi bir desen geçersizdir çünkü baştaki yıldızın yineleyeceği önceki bir ifade yoktur.

office.example ve alt alan adlarına yönelik HTTP ve HTTPS istekleri için bir PowerShell yapılandırması şunu kullanabilir:

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

Kaçışlı noktalar gerçek noktalarla eşleşir. Yinelenen ana makine adı etiketi grubu hem temel alan adını hem de altındaki adları kabul eder. Çıpalar office.example.other.test gibi bir adı bu kuralın dışında tutar. Tek tırnaklı PowerShell dizeleri ifadenin kullandığı ters eğik çizgileri korur.

Mevcut .NET uygulaması bu ifadeleri hedefin şeması, ana makine adı ve varsayılan olmayan bağlantı noktasıyla eşleştirir. İsteğin yolunu veya sorgu dizesini içermez. Bu nedenle isteğe bağlı bağlantı noktası grubu varsayılan olmayan bağlantı noktalarına da izin verir; ilke belirli bir hizmet gerektiriyorsa bu grubu kaldırın veya daraltın.

Bu örnekte BypassProxyOnLocal false'tur; böylece regex ilkesi o ek atlama ayarından ayrı olarak incelenebilir. Ortaya çıkan proxy nesnesini onu kullanması gereken HTTP istemcisine bağlayın. Atlama alan adı dışında izin verilen bir genel URL testi için HTTP proxy list listesindeki bir HTTP girdisi adresini sağlayabilir; proxy hesabı yapılandırılmaz.

Yönlendirme kararını incelemek için IsBypassed'ı temsili Uri değerleriyle kullanın: temel alan adı, bir alt alan adı, ilgisiz bir dış ana makine ve yanıltıcı daha uzun bir son ek. true sonucu doğrudan erişimin seçildiği anlamına gelir; doğrudan hedefe ulaşılabildiğini kanıtlamaz.

İlgili makaleler