Lua-cURL-proxyvalg for nedlasting av en fil
Koble et proxy-endepunkt til et Lua-cURL easy handle og behold målet og utstrømmen med den overføringen.
Lua-CURLv3 godtar libcurl-valg i tabellen som brukes til å bygge et easy handle. Sett proxyen der:
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
Denne biten forutsetter at output er en skrivbar fil åpnet i binærmodus og eid av den som kaller. Den som kaller, lukker den etter operasjonen. Det beskyttede kallet sikrer at easy handle lukkes når perform reiser en feil.
URL-en identifiserer fortsatt filen. Proxyvalget velger mellomleddet, og libcurl håndterer den støttede HTTP-tunnelen for HTTPS-målet. For en tillatt nedlasting av en offentlig fil uten proxykonto, ta HTTP-endepunktet fra en oppføring i HTTP-proxylisten. Det er ikke nødvendig å skrive om filens URL til en proxy-URL manuelt.
Et eksplisitt valg gjør også kilden til konfigurasjonen tydelig. libcurls håndtering av proxy-miljøet er en annen inngang; nettleserens proxyvalg i operativsystemet er ikke en universell verdi som hvert Lua-nettbibliotek får automatisk.
Hvis forespørselen skal følge en administrert automatisk policy, legg til rette for støttet oppdagelse og send den valgte ruten til klienten. Easy-valgtabellen gir en fast rute for denne overføringen.