Dosya indirme için Lua-cURL proxy seçenekleri
Bir proxy uç noktasını Lua-cURL easy handle'a bağlayın ve hedefi ve çıktı akışını o aktarımla birlikte tutun.
Lua-CURLv3, easy handle oluşturmak için kullanılan tabloda libcurl seçeneklerini kabul eder. Proxy'yi oraya koyun:
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
Bu parça, output'un ikili modda açılmış, çağırana ait yazılabilir bir dosya olduğunu varsayar. Çağıran, işlemden sonra dosyayı kapatır. Korumalı çağrı, perform bir hata oluşturduğunda easy handle'ın kapatılmasını sağlar.
URL hâlâ dosyayı tanımlar. Proxy seçeneği aracıyı seçer ve libcurl HTTPS hedefi için desteklenen HTTP tünelini işler. Proxy hesabı olmadan izin verilen bir genel dosya indirmesi için HTTP uç noktasını HTTP proxy listesindeki bir girişten alın. Dosya URL'sini proxy URL'sine elle yeniden yazmaya gerek yoktur.
Açık bir seçenek, yapılandırmanın kaynağını da netleştirir. libcurl'ün proxy ortamı işleyişi başka bir girdidir; tarayıcının işletim sistemi proxy tercihi her Lua ağ kütüphanesinin otomatik olarak elde ettiği evrensel bir değer değildir.
İstek yönetilen bir otomatik politikayı izlemesi gerekiyorsa, desteklenen keşfi düzenleyin ve seçilen rotayı istemciye iletin. Easy seçenek tablosu bu aktarım için sabit bir rota sağlar.