Lua-CURLv3 accepta opcions de libcurl a la taula que s'utilitza per construir un easy handle. Poseu-hi el 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

Aquest fragment assumeix que output és un fitxer escribible obert en mode binari i propietat del cridador. El cridador el tanca després de l'operació. La crida protegida assegura que l'easy handle es tanqui quan perform genera un error.

L'URL encara identifica el fitxer. L'opció de proxy selecciona l'intermediari, i libcurl gestiona el túnel HTTP compatible per a la destinació HTTPS. Per a una descàrrega permesa de fitxer públic sense compte de proxy, agafeu el punt final HTTP d'una entrada a la llista de proxys HTTP. No cal reescriure manualment l'URL del fitxer en un URL de proxy.

Una opció explícita també fa clara la font de la configuració. La gestió de l'entorn de proxy de libcurl és una altra entrada; la preferència de proxy del sistema operatiu del navegador no és un valor universal que totes les biblioteques de xarxa de Lua obtinguin automàticament.

Si la sol·licitud ha de seguir una política automàtica gestionada, organitzeu el descobriment compatible i passeu la ruta seleccionada al client. La taula d'opcions easy proporciona una ruta fixa per a aquesta transferència.

Articles relacionats