Opzioni proxy di Lua-cURL per scaricare un file
Collega un endpoint proxy a un easy handle Lua-cURL e mantieni la destinazione e il flusso di output con quel trasferimento.
Lua-CURLv3 accetta le opzioni libcurl nella tabella usata per costruire un easy handle. Inserisci lì il proxy:
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
Questo frammento presuppone che output sia un file scrivibile aperto in modalità binaria e di proprietà del chiamante. Il chiamante lo chiude dopo l'operazione. La chiamata protetta assicura che l'easy handle venga chiuso quando perform solleva un errore.
L'URL identifica ancora il file. L'opzione proxy seleziona l'intermediario e libcurl gestisce il tunnel HTTP supportato per la destinazione HTTPS. Per un download consentito di un file pubblico senza account proxy, prendi l'endpoint HTTP da una voce nell'elenco dei proxy HTTP. Non serve riscrivere manualmente l'URL del file in un URL proxy.
Un'opzione esplicita rende chiara anche l'origine della configurazione. La gestione dell'ambiente proxy di libcurl è un altro input; la preferenza proxy del sistema operativo del browser non è un valore universale che ogni libreria di rete Lua ottiene automaticamente.
Se la richiesta deve seguire una politica automatica gestita, organizza il rilevamento supportato e passa il percorso selezionato al client. La tabella delle opzioni easy fornisce un percorso fisso per questo trasferimento.