Lua-CURLv3 приймає параметри libcurl у таблиці, яка використовується для створення easy handle. Розмістіть проксі там:

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

Цей фрагмент припускає, що output — це доступний для запису файл, відкритий у двійковому режимі й власником якого є той, хто викликає. Викликач закриває його після операції. Захищений виклик гарантує, що easy handle буде закрито, коли perform спричинить помилку.

URL і далі ідентифікує файл. Параметр проксі вибирає посередника, а libcurl обробляє підтримуваний тунель HTTP для призначення HTTPS. Для дозволеного завантаження публічного файлу без облікового запису проксі візьміть кінцеву точку HTTP із запису в списку HTTP-проксі. Вручну переписувати URL файлу в URL проксі не потрібно.

Явний параметр також робить джерело конфігурації зрозумілим. Обробка середовища проксі в libcurl — це інший вхід; налаштування проксі операційної системи браузера не є універсальним значенням, яке кожна мережева бібліотека Lua отримує автоматично.

Якщо запит має дотримуватися керованої автоматичної політики, організуйте підтримуване виявлення й передайте вибраний маршрут клієнту. Таблиця параметрів easy надає фіксований маршрут для цього передавання.

Схожі статті