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 քաղաքականությունը հնարավոր լինի ստուգել այդ լրացուցիչ շրջանցման կարգավորումից առանձին։ Կցեք ստացված proxy օբյեկտը այն HTTP հաճախորդին, որը պետք է օգտագործի այն։ Շրջանցման դոմենից դուրս թույլատրված հանրային URL թեստի համար HTTP proxy list-ից HTTP գրառումը կարող է տրամադրել իր հասցեն՝ առանց կարգավորված proxy հաշվի։

Օգտագործեք IsBypassed-ը ներկայացուցչական Uri արժեքներով՝ երթուղման որոշումը ստուգելու համար՝ հիմնական դոմենը, մեկ ենթադոմեյն, անկապ արտաքին հոսթ և խաբուսիկ ավելի երկար վերջածանց։ true արդյունքը նշանակում է, որ ընտրվել է ուղիղ հասանելիություն. այն չի ապացուցում, որ ուղիղ նպատակակետը հասանելի է։

Առնչվող հոդվածներ