Opcións de proxy de Lua-cURL para descargar un ficheiro
Conecte un punto final de proxy a un easy handle de Lua-cURL e manteña o destino e o fluxo de saída con esa transferencia.
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.