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 מספקת מסלול קבוע להעברה זו.

מאמרים קשורים