เขียนรายการข้าม WebProxy เป็นนิพจน์ปกติ
สร้างนิพจน์ข้ามที่ถูกต้องสำหรับ System.Net.WebProxy ด้วยจุดที่ escaped และขอบเขตชื่อโฮสต์ที่ชัดเจนแทนไวลด์การ์ดแบบเชลล์
อาร์กิวเมนต์ BypassList ของ System.Net.WebProxy มีนิพจน์ปกติ รูปแบบอย่าง *.office.example ไม่ถูกต้องเพราะดอกจันนำหน้าไม่มีนิพจน์ก่อนหน้าสำหรับทำซ้ำ
สำหรับคำขอ HTTP และ HTTPS ไปยัง office.example และโดเมนย่อย การกำหนดค่า PowerShell สามารถใช้:
$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
'http://proxy.example:8080',
$false,
[string[]]$bypass
)
จุดที่ escaped จะตรงกับจุดตามตัวอักษร กลุ่มป้ายชื่อโฮสต์ที่ทำซ้ำอนุญาตทั้งโดเมนฐานและชื่อที่อยู่ใต้โดเมนนั้น ตัวยึดจะกันชื่ออย่าง office.example.other.test ไว้นอกกฎนี้ สตริง PowerShell ในเครื่องหมายคำพูดเดี่ยวจะรักษาแบ็กสแลชที่นิพจน์ใช้
การทำงานของ .NET ปัจจุบันจับคู่นิพจน์เหล่านี้กับสคีมา ชื่อโฮสต์ และพอร์ตที่ไม่ใช่ค่าเริ่มต้นของปลายทาง ไม่รวมเส้นทางคำขอหรือสตริงคำค้น ดังนั้นกลุ่มพอร์ตที่ไม่บังคับจึงอนุญาตพอร์ตที่ไม่ใช่ค่าเริ่มต้นด้วย ลบหรือจำกัดกลุ่มนี้หากนโยบายต้องการบริการเฉพาะ
ในตัวอย่างนี้ BypassProxyOnLocal เป็น false เพื่อให้นโยบาย regex ตรวจสอบแยกจากการตั้งค่าข้ามเพิ่มเติมนั้นได้ แนบออบเจ็กต์พร็อกซีที่ได้กับไคลเอนต์ HTTP ที่ควรใช้ สำหรับการทดสอบ URL สาธารณะที่ได้รับอนุญาตนอกโดเมนข้าม รายการ HTTP จากHTTP proxy listสามารถให้ที่อยู่ได้ โดยไม่ต้องกำหนดค่าบัญชีพร็อกซี
ใช้ IsBypassed กับค่า Uri ที่เป็นตัวแทนเพื่อตรวจสอบการตัดสินใจกำหนดเส้นทาง: โดเมนฐาน โดเมนย่อยหนึ่งรายการ โฮสต์ภายนอกที่ไม่เกี่ยวข้อง และส่วนต่อท้ายที่ยาวกว่าอย่างหลอกลวง ผลลัพธ์ true หมายถึงเลือกการเข้าถึงโดยตรง ไม่ได้พิสูจน์ว่าปลายทางโดยตรงเข้าถึงได้