การวินิจฉัยพร็อกซีใน R: เวอร์ชัน libcurl, แบ็กเอนด์ TLS และโปรโตคอล
ตรวจสอบเวอร์ชัน การใช้งาน TLS และคุณลักษณะโปรโตคอลของ libcurl ที่เชื่อมกับ R แยกจากไฟล์เรียกทำงาน curl ภายนอก
R ที่ติดตั้งในสภาพแวดล้อม Conda อาจใช้ libcurl build ที่ต่างจากไฟล์เรียกทำงาน curl ในเทอร์มินัล ถามเซสชัน R ที่ล้มเหล่วว่ามีไลบรารีใดจริง ๆ:
info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')
ค่าอักขระรายงานเวอร์ชันของ libcurl ที่เชื่อมอยู่ แอตทริบิวต์ ssl_version ระบุการใช้งาน TLS ส่วน protocols แสดงรายการโปรโตคอลปลายทางที่ไลบรารีนั้นรองรับ สิ่งเหล่านี้อธิบายเส้นทาง libcurl ที่สร้างไว้ใน R ไม่ใช่คำสั่ง shell ชื่อ curl
จับคู่รายงานกับวิธีดาวน์โหลด
download.file ที่ใช้ method='libcurl' ใช้ไลบรารีนี้ method='curl' เรียกไฟล์เรียกทำงานภายนอก การเลือก HTTP(S) อัตโนมัติในปัจจุบันใช้ libcurl และตัวเลือก download.file.method ที่มีค่า NULL อาจปล่อยให้ค่าเริ่มต้นนั้นคงอยู่
รันการตรวจสอบในสภาพแวดล้อมจริงที่งานหรือ IDE เลือก การติดตั้ง R อีกชุดอาจรายงานเวอร์ชันหรือแบ็กเอนด์ TLS อื่นแม้ว่าสคริปต์ของมันจะดูเหมือนกันก็ตาม
โปรโตคอล https ที่อยู่ในรายการหมายความว่าปลายทาง HTTPS ได้รับการรองรับ ไม่ได้พิสูจน์ว่า ตัวรับฟังพร็อกซีบางตัวยอมรับ TLS พร็อกซี HTTP ทั่วไปสำหรับการดาวน์โหลด HTTPS ยังคงมี URL พร็อกซีเป็น http://
เก็บรายงานไลบรารีไว้พร้อมกับวิธีที่เลือกและข้อผิดพลาดการเชื่อมต่อ ความล้มเหลวของใบรับรอง สคีมาพร็อกซีที่ไม่รองรับ และตัวรับฟังที่ถูกปฏิเสธยังคงเป็นข้อค้นพบที่แตกต่างกัน หมายเลขเวอร์ชันเพียงอย่างเดียวไม่ใช่การวินิจฉัยของสิ่งเหล่านั้น