Параметры прокси Lua-cURL для скачивания файла
Подключите конечную точку прокси к easy handle Lua-cURL и сохраните назначение и выходной поток за этой передачей.
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 предоставляет фиксированный маршрут для этой передачи.