Գրեք WebProxy-ի շրջանցման գրառումները որպես կանոնավոր արտահայտություններ
Կառուցեք վավեր System.Net.WebProxy շրջանցման արտահայտություն՝ փախցված կետերով և հոսթանվան հստակ սահմաններով՝ shell-աձև wildcard-ի փոխարեն։
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 արդյունքը նշանակում է, որ ընտրվել է ուղիղ հասանելիություն. այն չի ապացուցում, որ ուղիղ նպատակակետը հասանելի է։