Lua-cURL-proxyinställningar för nedladdning av en fil
Koppla en proxy-slutpunkt till ett Lua-cURL easy handle och behåll målet och utdataströmmen vid den överföringen.
Lua-CURLv3 accepterar libcurl-inställningar i tabellen som används för att bygga ett easy handle. Placera proxyn där:
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
Detta utdrag förutsätter att output är en skrivbar fil öppnad i binärt läge och ägd av anroparen. Anroparen stänger den efter åtgärden. Det skyddade anropet säkerställer att easy handle stängs när perform utlöser ett fel.
URL:en identifierar fortfarande filen. Proxyinställningen väljer mellanhanden, och libcurl hanterar den stödda HTTP-tunneln för HTTPS-målet. För en tillåten nedladdning av en offentlig fil utan proxykonto, ta HTTP-slutpunkten från en post i HTTP-proxylistan. Det behövs ingen manuell omskrivning av filens URL till en proxy-URL.
Ett uttryckligt alternativ gör också konfigurationens källa tydlig. libcurls hantering av proxy-miljön är en annan indata; webbläsarens proxyval i operativsystemet är inte ett universellt värde som varje Lua-nätverksbibliotek får automatiskt.
Om begäran ska följa en hanterad automatisk policy, ordna stöd för upptäckt och skicka den valda vägen till klienten. Easy-alternativtabellen tillhandahåller en fast väg för denna överföring.