Επιλογές διαμεσολαβητή 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 παρέχει μια σταθερή διαδρομή για αυτή τη μεταφορά.