Conda ماحول میں نصب R ٹرمینل میں موجود curl ایگزیکیوٹیبل سے مختلف libcurl بلڈ استعمال کر سکتا ہے۔ ناکام ہونے والے R سیشن سے پوچھیں کہ اس کے پاس واقعی کون سی لائبریری ہے:

info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')

حرفی قدر منسلک libcurl کا ورژن بتاتی ہے۔ اس کی ssl_version خصوصیت TLS نفاذ کی نشاندہی کرتی ہے، جبکہ protocols اس لائبریری کے معاون منزل پروٹوکولز کی فہرست دیتا ہے۔ یہ R کا بلٹ اِن libcurl راستہ بیان کرتے ہیں، curl نامی shell کمانڈ نہیں۔

رپورٹ کو ڈاؤن لوڈ طریقے سے ملائیں

method='libcurl' کے ساتھ download.file یہی لائبریری استعمال کرتا ہے۔ method='curl' بیرونی ایگزیکیوٹیبل چلاتا ہے۔ موجودہ خودکار HTTP(S) انتخاب libcurl استعمال کرتا ہے، اور NULL قدر والا download.file.method اختیار اس ڈیفالٹ کو برقرار رکھ سکتا ہے۔

معائنہ اسی حقیقی ماحول میں چلائیں جو کام یا IDE منتخب کرتا ہے۔ دوسری R تنصیب مختلف ورژن یا TLS بیک اینڈ بتا سکتی ہے چاہے اس کی اسکرپٹس ایک جیسی دکھیں۔

فہرست میں https پروٹوکول ہونے کا مطلب ہے کہ HTTPS منزلیں معاون ہیں۔ یہ ثابت نہیں کرتا کہ کوئی مخصوص پراکسی سننے والا TLS قبول کرتا ہے۔ HTTPS ڈاؤن لوڈ کے لیے عام HTTP پراکسی کے پاس اب بھی http:// پراکسی URL ہوتا ہے۔

لائبریری رپورٹ کو منتخب طریقے اور کنکشن خرابی کے ساتھ رکھیں۔ سرٹیفکیٹ کی ناکامی، غیر معاون پراکسی اسکیم اور مسترد شدہ سننے والا الگ الگ نتائج ہی رہتے ہیں؛ صرف ورژن نمبر ان کی تشخیص نہیں ہے۔

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