Lua-CURLv3 accepterer libcurl-indstillinger i tabellen, der bruges til at bygge et easy handle. Sæt 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

Dette uddrag forudsætter, at output er en skrivbar fil åbnet i binær tilstand og ejet af den, der kalder. Den, der kalder, lukker den efter handlingen. Det beskyttede kald sikrer, at easy handle lukkes, når perform rejser en fejl.

URL'en identificerer stadig filen. Proxyindstillingen vælger mellemleddet, og libcurl håndterer den understøttede HTTP-tunnel til HTTPS-destinationen. Til en tilladt download af en offentlig fil uden proxykonto tages HTTP-endpointet fra en post i HTTP-proxylisten. Der er ikke behov for manuelt at omskrive filens URL til en proxy-URL.

En eksplicit indstilling gør også konfigurationskilden tydelig. libcurls håndtering af proxy-miljøet er et andet input; browserens proxyvalg i operativsystemet er ikke en universel værdi, som hvert Lua-netværksbibliotek automatisk får.

Hvis anmodningen skal følge en administreret automatisk politik, skal du sørge for understøttet opdagelse og sende den valgte rute til klienten. Tabellen med easy-indstillinger leverer en fast rute til denne overførsel.

Relaterede artikler