تحتوي وسيطة 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
)

النقاط المهرَّبة تطابق النقاط الحرفية. مجموعة تسمية المضيف المكررة تسمح بالنطاق الأساسي والأسماء الواقعة تحته. المراسي تُبقي اسماً مثل office.example.other.test خارج هذه القاعدة. سلاسل PowerShell بين علامتي اقتباس مفردتين تحفظ الشرطات المائلة العكسية التي يستخدمها التعبير.

يطابق تنفيذ .NET الحالي هذه التعبيرات مقابل مخطَّط الوجهة واسم المضيف والمنفذ غير الافتراضي. وهو لا يشمل مسار الطلب ولا سلسلة الاستعلام. لذلك تسمح مجموعة المنفذ الاختيارية بمنافذ غير افتراضية أيضاً؛ أزلها أو ضيّقها إذا كانت السياسة تتطلب خدمة محددة.

قيمة BypassProxyOnLocal تساوي false في هذا المثال كي تُفحص سياسة التعبير النمطي بمعزل عن إعداد التجاوز الإضافي ذاك. اربط كائن الوكيل الناتج بعميل HTTP الذي ينبغي أن يستخدمه. لاختبار عنوان URL عام مسموح خارج نطاق التجاوز، يمكن لمدخل HTTP من HTTP proxy list أن يوفر عنوانه، دون حساب وكيل مُهيأ.

استخدم IsBypassed مع قيم Uri تمثيلية لفحص قرار التوجيه: النطاق الأساسي، ونطاق فرعي واحد، ومضيف خارجي غير ذي صلة، ولاحقة أطول خادعة. النتيجة true تعني اختيار الوصول المباشر؛ وهي لا تثبت أن الوجهة المباشرة قابلة للوصول.

مقالات ذات صلة