System.Net.WebProxy-ന്റെ BypassList ആർഗ്യുമെന്റിൽ റെഗുലർ എക്സ്പ്രഷനുകളാണ് ഉള്ളത്. *.office.example പോലുള്ള പാറ്റേൺ അസാധുവാണ്, കാരണം ആദ്യത്തെ നക്ഷത്രചിഹ്നത്തിന് ആവർത്തിക്കാൻ മുൻ എക്സ്പ്രഷൻ ഇല്ല.

office.example-ലേക്കും അതിന്റെ സബ്ഡൊമെയ്നുകളിലേക്കുമുള്ള HTTP, HTTPS അഭ്യർത്ഥനകൾക്ക് ഒരു 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 proxy list-ലെ ഒരു HTTP എൻട്രിക്ക് അതിന്റെ വിലാസം നൽകാം, പ്രോക്സി അക്കൗണ്ട് കോൺഫിഗർ ചെയ്യാതെ.

റൂട്ടിംഗ് തീരുമാനം പരിശോധിക്കാൻ പ്രതിനിധീകരണ Uri മൂല്യങ്ങളോടെ IsBypassed ഉപയോഗിക്കുക: അടിസ്ഥാന ഡൊമെയ്ന്, ഒരു സബ്ഡൊമെയ്ന്, ബന്ധമില്ലാത്ത ബാഹ്യ ഹോസ്റ്റ്, കൂടാതെ കബളിപ്പിക്കുന്ന നീളമേറിയ പ്രത്യയം. true ഫലം അർത്ഥിക്കുന്നത് നേരിട്ടുള്ള പ്രവേശനം തിരഞ്ഞെടുത്തു എന്നാണ്; നേരിട്ടുള്ള ലക്ഷ്യം എത്താനാകുമെന്ന് അത് തെളിയിക്കുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ