Lua-CURLv3 przyjmuje opcje libcurl w tabeli używanej do zbudowania easy handle. Umieść tam 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

Ten fragment zakłada, że output to otwarty w trybie binarnym plik do zapisu należący do wywołującego. Wywołujący zamyka go po operacji. Chronione wywołanie zapewnia, że easy handle zostanie zamknięty, gdy perform zgłosi błąd.

URL nadal identyfikuje plik. Opcja proxy wybiera pośrednika, a libcurl obsługuje obsługiwany tunel HTTP do celu HTTPS. Aby uzyskać dozwolone pobranie publicznego pliku bez konta proxy, weź punkt końcowy HTTP z wpisu na liście proxy HTTP. Ręczne przepisywanie URL pliku na URL proxy nie jest potrzebne.

Jawna opcja wyjaśnia również źródło konfiguracji. Obsługa środowiska proxy przez libcurl to inne wejście; preferencja proxy systemu operacyjnego przeglądarki nie jest uniwersalną wartością, którą każda biblioteka sieciowa Lua otrzymuje automatycznie.

Jeśli żądanie ma realizować zarządzaną politykę automatyczną, zorganizuj obsługiwane wykrywanie i przekaż wybraną trasę klientowi. Tabela opcji easy zapewnia stałą trasę dla tego transferu.

Powiązane artykuły