فحص جسم استجابة CONNECT فاشلة عبر الوكيل باستخدام curl
أرسل طلب CONNECT تشخيصيًا صحيح البنية مباشرة إلى وكيل HTTP واحفظ ترويسات الفشل وجسم الاستجابة بشكل منفصل.
قد يعيد الوكيل الذي يرفض CONNECT مستند خطأ HTTP يشرح سياسته أو فشل الاتصال المتتابع. ولإجراء تشخيص مصرّح به تجاه وكيل HTTP عادي، يستطيع curl إرسال ذلك الطلب مباشرة وحفظ الرد:
curl --proxy '' --http1.1 --max-time 10 \
--request CONNECT \
--request-target service.example:443 \
--header 'Host: service.example:443' \
--dump-header tunnel.headers \
--output tunnel.body \
http://proxy.example:8080/
يشير عنوان URL الأخير إلى مستمع الوكيل. ولمقارنة مسموحة بين وكلاء عموميين، توفّر قائمة وكلاء HTTP مرشحين لعنوان المستمع ذلك. يوفّر --request رمز الطريقة؛ ويوفّر --request-target سلطة CONNECT. وإبقاؤهما منفصلين ينتج CONNECT service.example:443 HTTP/1.1.
يمنع خيار الوكيل الفارغ curl من توجيه هذا التشخيص عبر وكيل آخر موروث. ويتعمد الأمر حذف --fail كي يمكن الاحتفاظ بمستند خطأ HTTP.
قد تتوقف محاولة غير مصادَقة عند 407 قبل بلوغ الفشل قيد الفحص. استخدم ترتيب المصادقة المقصود لدى الوكيل عند إعادة إنتاج طلب مصادَق عليه.
الغرض هنا فحص استجابات الفشل. وإذا أعاد الوكيل 2xx يصبح الاتصال نفقًا بدلًا من نقل جسم HTTP عادي. هذا التشخيص بطريقة مخصصة لا يبدأ تبادل TLS الخاص بالوجهة وقد يبلغ حدّه الزمني على نفق مفتوح مقبول.
استخدم مسار طلب --proxy العادي لجلب HTTPS فعلي. واحفظ حالة التشخيص وجسمه مع الوكيل والهدف المحددين بهما.