Lua-CURLv3 akzeptiert libcurl-Optionen in der Tabelle, mit der ein Easy-Handle erstellt wird. Tragen Sie den Proxy dort ein:

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

Dieses Fragment setzt voraus, dass output eine beschreibbare Datei ist, die im Binärmodus geöffnet wurde und dem Aufrufer gehört. Der Aufrufer schließt sie nach dem Vorgang. Der geschützte Aufruf stellt sicher, dass das Easy-Handle geschlossen wird, wenn perform einen Fehler auslöst.

Die URL identifiziert weiterhin die Datei. Die Proxy-Option wählt den Vermittler, und libcurl übernimmt den unterstützten HTTP-Tunnel zum HTTPS-Ziel. Für einen erlaubten Download einer öffentlichen Datei ohne Proxy-Konto nehmen Sie den HTTP-Endpunkt aus einem Eintrag in der HTTP-Proxy-Liste. Ein manuelles Umschreiben der Datei-URL in eine Proxy-URL ist nicht nötig.

Eine ausdrückliche Option macht außerdem die Quelle der Konfiguration klar. Die Proxy-Umgebungsbehandlung von libcurl ist eine weitere Eingabe; die Proxy-Einstellung des Browser-Betriebssystems ist kein universeller Wert, den jede Lua-Netzwerkbibliothek automatisch erhält.

Wenn die Anfrage einer verwalteten automatischen Richtlinie folgen soll, richten Sie eine unterstützte Erkennung ein und übergeben Sie die gewählte Route an den Client. Die Easy-Optionstabelle liefert eine feste Route für diese Übertragung.

Ähnliche Artikel