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 یک فایل قابل نوشتن است که در حالت دودویی باز شده و متعلق به فراخواننده است. فراخواننده آن را پس از عملیات می‌بندد. فراخوانی محافظت‌شده تضمین می‌کند که وقتی perform خطا ایجاد می‌کند، easy handle بسته شود.

URL همچنان فایل را شناسایی می‌کند. گزینه پروکسی واسطه را انتخاب می‌کند و libcurl تونل HTTP پشتیبانی‌شده را برای مقصد HTTPS مدیریت می‌کند. برای دانلود مجاز یک فایل عمومی بدون حساب پروکسی، نقطه پایانی HTTP را از یک ورودی در فهرست پروکسی HTTP بردارید. نیازی به بازنویسی دستی URL فایل به URL پروکسی نیست.

یک گزینه صریح منبع پیکربندی را نیز روشن می‌کند. مدیریت محیط پروکسی توسط libcurl ورودی دیگری است؛ ترجیح پروکسی سیستم‌عامل مرورگر یک مقدار جهانی نیست که هر کتابخانه شبکه Lua به‌طور خودکار به دست آورد.

اگر درخواست باید از یک سیاست خودکار مدیریت‌شده پیروی کند، کشف پشتیبانی‌شده را ترتیب دهید و مسیر انتخاب‌شده را به کلاینت بدهید. جدول گزینه‌های easy یک مسیر ثابت برای این انتقال فراهم می‌کند.

مقالات مرتبط