Lua-CURLv3 acepta opcións de libcurl na táboa que se usa para construír un easy handle. Poña o proxy alí:

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

Este fragmento supón que output é un ficheiro escribible aberto en modo binario e propiedade de quen chama. Quen chama péchao despois da operación. A chamada protexida garante que o easy handle se peche cando perform xere un erro.

O URL segue identificando o ficheiro. A opción de proxy selecciona o intermediario e libcurl xestiona o túnel HTTP compatible co destino HTTPS. Para unha descarga permitida dun ficheiro público sen conta de proxy, tome o punto final HTTP dunha entrada na lista de proxies HTTP. Non é necesario reescribir manualmente o URL do ficheiro como URL de proxy.

Unha opción explícita tamén deixa clara a fonte da configuración. O manexo da contorna de proxy de libcurl é outra entrada; a preferencia de proxy do sistema operativo do navegador non é un valor universal que toda biblioteca de rede de Lua obteña automaticamente.

Se a solicitude debe seguir unha política automática xestionada, organice o descubrimento compatible e pase a ruta seleccionada ao cliente. A táboa de opcións easy fornece unha ruta fixa para esta transferencia.

Artigos relacionados