ファイルダウンロードのための Lua-cURL プロキシ設定
Lua-cURL の easy handle にプロキシのエンドポイントを設定し、宛先と出力ストリームをその転送に紐づけます。
Lua-CURLv3 は easy handle の構築に使うテーブルで libcurl のオプションを受け取ります。プロキシはそこに指定します:
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 が HTTPS 宛先に対してサポートされる HTTP トンネルを処理します。プロキシアカウントなしで許可された公開ファイルをダウンロードする場合は、HTTP プロキシ一覧のエントリから HTTP エンドポイントを取得します。ファイルの URL をプロキシ URL に手作業で書き換える必要はありません。
明示的なオプションは設定の出所も明確にします。libcurl のプロキシ環境の扱いは別の入力です。ブラウザの OS のプロキシ設定は、すべての Lua ネットワークライブラリが自動的に取得する普遍的な値ではありません。
リクエストが管理された自動ポリシーに従う必要がある場合は、サポートされた検出を整えて、選択された経路をクライアントに渡します。easy オプションテーブルはこの転送に固定の経路を提供します。