Lua-CURLv3 accepte les options libcurl dans la table utilisée pour construire un easy handle. Placez le proxy à cet endroit :

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

Cet extrait suppose que output est un fichier ouvert en écriture en mode binaire et appartenant à l'appelant. L'appelant le ferme après l'opération. L'appel protégé garantit que l'easy handle est fermé lorsque perform lève une erreur.

L'URL identifie toujours le fichier. L'option proxy sélectionne l'intermédiaire, et libcurl gère le tunnel HTTP pris en charge pour la destination HTTPS. Pour un téléchargement autorisé de fichier public sans compte proxy, prenez le point de terminaison HTTP dans une entrée de la liste de proxys HTTP. Aucune réécriture manuelle de l'URL du fichier en URL de proxy n'est nécessaire.

Une option explicite clarifie aussi la source de la configuration. La gestion de l'environnement proxy par libcurl est une autre entrée ; la préférence de proxy du système d'exploitation du navigateur n'est pas une valeur universelle que chaque bibliothèque réseau Lua obtient automatiquement.

Si la requête doit suivre une politique automatique gérée, organisez une découverte prise en charge et transmettez l'itinéraire choisi au client. La table d'options easy fournit un itinéraire fixe pour ce transfert.

Articles similaires