ဖိုင်ဒေါင်းလုဒ်အတွက် Lua-cURL ပရောက်စီ ရွေးချယ်စရာများ
Lua-cURL easy handle သို့ ပရောက်စီ endpoint တစ်ခု ချိတ်ဆက်ပြီး ဦးတည်ရာနှင့် output stream ကို ထို transfer နှင့်အတူ ထားရှိပါ။
Lua-CURLv3 သည် easy handle တည်ဆောက်ရန် အသုံးပြုသော ဇယားထဲတွင် libcurl ရွေးချယ်စရာများကို လက်ခံသည်။ ပရောက်စီကို ထိုနေရာတွင် ထည့်ပါ:
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 ကို binary mode ဖြင့် ဖွင့်ထားသော၊ ခေါ်ဆိုသူပိုင်ဆိုင်သော ရေးနိုင်သည့် ဖိုင်ဟု ယူဆသည်။ ခေါ်ဆိုသူသည် လုပ်ဆောင်မှုအပြီးတွင် ၎င်းကို ပိတ်သည်။ ကာကွယ်ထားသော ခေါ်ဆိုမှုသည် perform အမှားထုတ်လွှတ်သောအခါ easy handle ပိတ်သွားကြောင်း သေချာစေသည်။
URL သည် ဖိုင်ကို ဆက်လက်ဖော်ပြသည်။ ပရောက်စီ ရွေးချယ်စရာသည် ကြားခံကို ရွေးပြီး libcurl သည် HTTPS ဦးတည်ရာအတွက် ပံ့ပိုးထားသော HTTP tunnel ကို ကိုင်တွယ်သည်။ ပရောက်စီအကောင့်မပါဘဲ ခွင့်ပြုထားသော အများသူငှာဖိုင် ဒေါင်းလုဒ်အတွက် HTTP ပရောက်စီစာရင်းရှိ ထည့်သွင်းချက်တစ်ခုမှ HTTP endpoint ကို ယူပါ။ ဖိုင် URL ကို ပရောက်စီ URL အဖြစ် ကိုယ်တိုင်ပြန်ရေးရန် မလိုအပ်ပါ။
ရှင်းလင်းသော ရွေးချယ်စရာသည် ဖွဲ့စည်းမှု၏ ရင်းမြစ်ကိုလည်း ရှင်းလင်းစေသည်။ libcurl ၏ ပရောက်စီပတ်ဝန်းကျင် ကိုင်တွယ်မှုသည် အခြား input တစ်ခုဖြစ်သည်။ ဘရောက်ဇာ၏ လည်ပတ်မှုစနစ် ပရောက်စီ ရွေးချယ်မှုသည် Lua ကွန်ရက်စာကြည့်တိုက်တိုင်း အလိုအလျောက် ရရှိသော စကြာဝဠာတန်ဖိုး မဟုတ်ပါ။
တောင်းဆိုမှုသည် စီမံခန့်ခွဲထားသော အလိုအလျောက်မူဝါဒကို လိုက်နာရမည်ဆိုပါက ပံ့ပိုးထားသော ရှာဖွေတွေ့ရှိမှုကို စီစဉ်ပြီး ရွေးချယ်ထားသော လမ်းကြောင်းကို client သို့ ပေးပို့ပါ။ easy ရွေးချယ်စရာဇယားသည် ဤ transfer အတွက် ပုံသေလမ်းကြောင်းကို ပံ့ပိုးပေးသည်။