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 შედეგი ნიშნავს, რომ არჩეულია პირდაპირი წვდომა; ის არ ამტკიცებს, რომ პირდაპირი დანიშნულება მისაწვდომია.

დაკავშირებული სტატიები