CONNECT کو رد کرنے والا proxy ایک HTTP خرابی کا دستاویز واپس کر سکتا ہے جو اس کی پالیسی یا اگلے کنکشن کی ناکامی کی وضاحت کرتا ہے۔ عام HTTP proxy کے خلاف مجاز تشخیص کے لیے 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 proxy کے سننے والے کی طرف اشارہ کرتا ہے۔ مجاز عوامی proxy موازنہ کے لیے HTTP proxy فہرست اس سننے والے URL کے لیے امیدوار فراہم کرتی ہے۔ --request طریقہ کا ٹوکن فراہم کرتا ہے؛ --request-target CONNECT کا اختیار فراہم کرتا ہے۔ انہیں الگ رکھنا CONNECT service.example:443 HTTP/1.1 پیدا کرتا ہے۔

خالی proxy اختیار curl کو اس تشخیص کو کسی اور وراثتی proxy کے ذریعے بھیجنے سے روکتا ہے۔ کمانڈ جان بوجھ کر --fail چھوڑ دیتی ہے تاکہ HTTP خرابی کا دستاویز محفوظ رہ سکے۔

بغیر تصدیق کی کوشش زیرِ تحقیق ناکامی تک پہنچنے سے پہلے 407 پر رک سکتی ہے۔ تصدیق شدہ درخواست دوبارہ بناتے وقت proxy کا مطلوبہ تصدیقی انتظام استعمال کریں۔

یہ ناکامی کے جوابات جانچنے کے لیے ہے۔ اگر proxy 2xx واپس کرے تو کنکشن عام HTTP body کی منتقلی کے بجائے ایک سرنگ بن جاتا ہے۔ یہ حسبِ ضرورت طریقہ تشخیص منزل کے TLS تبادلے کا آغاز نہیں کرتا اور قبول شدہ کھلی سرنگ پر اپنی وقت کی حد تک پہنچ سکتا ہے۔

حقیقی HTTPS حصول کے لیے عام --proxy درخواست کا بہاؤ استعمال کریں۔ تشخیص کی حالت اور body کو ان کے مخصوص proxy اور ہدف کے ساتھ رکھیں۔

متعلقہ مضامین