Lua-CURLv3 acceptă opțiuni libcurl în tabelul folosit pentru a construi un easy handle. Puneți proxy-ul acolo:

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

Acest fragment presupune că output este un fișier care se poate scrie, deschis în mod binar și deținut de apelant. Apelantul îl închide după operațiune. Apelul protejat garantează că easy handle este închis când perform ridică o eroare.

URL-ul identifică în continuare fișierul. Opțiunea de proxy selectează intermediarul, iar libcurl gestionează tunelul HTTP acceptat pentru destinația HTTPS. Pentru o descărcare permisă a unui fișier public fără cont de proxy, luați punctul final HTTP dintr-o intrare din lista de proxy-uri HTTP. Nu este nevoie să rescrieți manual URL-ul fișierului ca URL de proxy.

O opțiune explicită face clară și sursa configurației. Gestionarea mediului de proxy de către libcurl este o altă intrare; preferința de proxy a sistemului de operare al browserului nu este o valoare universală pe care fiecare bibliotecă de rețea Lua o obține automat.

Dacă cererea trebuie să urmeze o politică automată gestionată, organizați descoperirea acceptată și transmiteți ruta selectată clientului. Tabelul de opțiuni easy oferă o rută fixă pentru această transferare.

Articole similare