ประเมินเส้นทาง PAC ของ Windows สำหรับการดาวน์โหลดด้วย R
ใช้การค้นหาพร็อกซี Windows ของแพ็กเกจ curl สำหรับ URL เป้าหมาย แล้วนำผลลัพธ์ไปใช้กับ handle ที่ทำการถ่ายโอน
สคริปต์ PAC ของ Windows สามารถเลือกพร็อกซีตามปลายทางได้ สำหรับการดาวน์โหลดที่ทำด้วยแพ็กเกจ curl ใน R ให้ถามผู้ช่วย Windows ของมันเกี่ยวกับเส้นทางของ URL นั้นก่อนสร้าง handle การถ่ายโอน:
url <- "https://example.com/data.csv"
route <- curl::ie_get_proxy_for_url(url)
if (is.null(route)) route <- ""
handle <- curl::new_handle(proxy = route)
connection <- curl::curl(url, handle = handle)อ่านและปิดการเชื่อมต่อผ่านวงจรชีวิตการเชื่อมต่อปกติของแอปพลิเคชัน ตัวอย่างนี้กำหนดเส้นทางสำหรับ handle curl นั้น ไม่ได้กำหนดค่าแพ็กเกจเครือข่ายทุกตัวในโปรเซส R
ผู้ช่วยอ่านการกำหนดค่าพร็อกซี Windows ปัจจุบัน เมื่อเปิดใช้การกำหนดค่าอัตโนมัติ การประเมินอาจเกี่ยวข้องกับการดาวน์โหลดและเรียกใช้สคริปต์ PAC ดังนั้นการค้นหาอาจใช้เวลา ใช้ URL เป้าหมายจริงแทนไซต์ทดสอบที่ไม่เกี่ยวข้องซึ่งสะดวก
ผู้ช่วยจะคืนค่า NULL เมื่อไม่มีพร็อกซีที่เลือก สตริงพร็อกซีว่างที่ระบุชัดเจนในตัวอย่างบอก libcurl ให้ทำการถ่ายโอนนี้โดยตรง แทนที่จะย้อนกลับไปใช้ตัวแปรสภาพแวดล้อมพร็อกซีที่เหลืออยู่ในเซสชัน
URL ของไฟล์ PAC ไม่ใช่ปลายทางพร็อกซีที่ได้ การส่ง URL สคริปต์นั้นเป็นค่าพร็อกซีของ handle ไม่ได้ขอให้ libcurl ประเมินสคริปต์
การค้นหานี้คืนพร็อกซีที่เลือก ไม่ใช่กลไกสลับสำรองที่เทียบเท่าเบราว์เซอร์อย่างสมบูรณ์สำหรับผู้สมัคร PAC ทุกราย และไม่ได้ให้ข้อมูลรับรองการพิสูจน์ตัวตนด้วย เก็บการจัดการไว้ในเครื่องกับไคลเอนต์ Windows และการถ่ายโอน curl ที่ต้องการนโยบายนี้จริง ๆ