Lua-cURL-proxyopties voor het downloaden van een bestand
Koppel een proxy-eindpunt aan een Lua-cURL easy handle en houd de bestemming en de uitvoerstroom bij die overdracht.
Lua-CURLv3 accepteert libcurl-opties in de tabel die wordt gebruikt om een easy handle te bouwen. Zet de proxy daar:
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
Dit fragment gaat ervan uit dat output een schrijfbaar bestand is dat in binaire modus is geopend en eigendom is van de aanroeper. De aanroeper sluit het na de bewerking. De beschermde aanroep zorgt ervoor dat de easy handle wordt gesloten wanneer perform een fout veroorzaakt.
De URL identificeert nog steeds het bestand. De proxyoptie selecteert de tussenpersoon en libcurl verwerkt de ondersteunde HTTP-tunnel naar de HTTPS-bestemming. Voor een toegestane download van een openbaar bestand zonder proxyaccount neemt u het HTTP-eindpunt uit een vermelding in de HTTP-proxylijst. De bestands-URL hoeft niet handmatig naar een proxy-URL te worden herschreven.
Een expliciete optie maakt ook de bron van de configuratie duidelijk. De proxyomgevingsafhandeling van libcurl is een andere invoer; de proxyvoorkeur van het besturingssysteem van de browser is geen universele waarde die elke Lua-netwerkbibliotheek automatisch verkrijgt.
Als het verzoek een beheerd automatisch beleid moet volgen, regelt u ondersteunde detectie en geeft u de gekozen route door aan de client. De easy-optietabel biedt een vaste route voor deze overdracht.