ตัวเลือกพร็อกซีของ Lua-cURL สำหรับดาวน์โหลดไฟล์
เชื่อมต่อปลายทางพร็อกซีกับ easy handle ของ Lua-cURL และเก็บปลายทางกับเอาต์พุตสตรีมไว้กับการถ่ายโอนนั้น
Lua-CURLv3 รับตัวเลือก libcurl ในตารางที่ใช้สร้าง easy handle ใส่พร็อกซีตรงนั้น:
local cURL = require "cURL"
local transfer = cURL.easy {
url = "https://www.example.com/file.bin",
proxy = "http://proxy.example:8080",
writefunction = output,
}
local ok, failure = pcall(function()
transfer:perform()
end)
transfer:close()
if not ok then error(failure) end
ส่วนนี้ถือว่า output เป็นไฟล์ที่เขียนได้ซึ่งเปิดในโหมดไบนารีและเป็นของผูเรียก ผูเรียกจะปิดไฟล์หลังการทำงาน การเรียกที่ป้องกันไว้ทำให้แน่ใจว่า easy handle ถูกปิดเมื่อ perform เกิดข้อผิดพลาด
URL ยังระบุไฟล์อยู่ ตัวเลือกพร็อกซีเลือกตัวกลาง และ libcurl จัดการอุโมงค์ HTTP ที่รองรับสำหรับปลายทาง HTTPS สำหรับการดาวน์โหลดไฟล์สาธารณะที่ได้รับอนุญาตโดยไม่มีบัญชีพร็อกซี ให้ใช้ปลายทาง HTTP จากรายการในรายการพร็อกซี HTTP ไม่จำเป็นต้องเขียน URL ของไฟล์เป็น URL พร็อกซีด้วยตนเอง
ตัวเลือกที่ชัดเจนยังทำให้แหล่งที่มาของการกำหนดค่าชัดเจนขึ้น การจัดการสภาพแวดล้อมพร็อกซีของ libcurl เป็นอินพุตอีกอย่างหนึ่ง การตั้งค่าพร็อกซีของระบบปฏิบัติการเบราว์เซอร์ไม่ใช่ค่าสากลที่ไลบรารีเครือข่าย Lua ทุกตัวได้รับโดยอัตโนมัติ
หากคำขอต้องปฏิบัติตามนโยบายอัตโนมัติที่มีการจัดการ ให้จัดเตรียมการค้นหาที่รองรับและส่งเส้นทางที่เลือกให้ไคลเอนต์ ตารางตัวเลือก easy ให้เส้นทางคงที่สำหรับการถ่ายโอนนี้