Lua-cURL proxy opcije za preuzimanje datoteke
Povežite proxy krajnju tačku sa Lua-cURL easy handle-om i zadržite odredište i izlazni tok uz taj prenos.
Lua-CURLv3 prihvata libcurl opcije u tabeli koja se koristi za izgradnju easy handle-a. Stavite proxy tamo:
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
Ovaj fragment pretpostavlja da je output datoteka za pisanje otvorena u binarnom režimu i u vlasništvu pozivaoca. Pozivalac je zatvara nakon operacije. Zaštićeni poziv osigurava da se easy handle zatvori kada perform izazove grešku.
URL i dalje identifikuje datoteku. Proxy opcija bira posrednika, a libcurl obrađuje podržani HTTP tunel za HTTPS odredište. Za dozvoljeno preuzimanje javne datoteke bez proxy naloga, uzmite HTTP krajnju tačku iz unosa u listi HTTP proxyja. Ručno prepisivanje URL-a datoteke u proxy URL nije potrebno.
Eksplicitna opcija takođe čini izvor konfiguracije jasnim. libcurl-ovo rukovanje proxy okruženjem je drugi ulaz; postavka proxyja u operativnom sistemu pregledača nije univerzalna vrednost koju svaka Lua mrežna biblioteka automatski dobija.
Ako zahtev treba da prati upravljanu automatsku politiku, organizujte podržano otkrivanje i prosledite izabranu rutu klijentu. Tabela easy opcija pruža fiksnu rutu za ovaj prenos.