local http = require("socket.http") -- подключаем библиотеку
local body, code = http.request("ссылка на свой файл") -- отправка HTTP запроса на получение содержимого по указанной ссылке, http.request возвращает два значения: body и code. body содержит содержимое ответа
if not body then error(code) end -- здесь проверка на то, что запрос не удался и если он не удался, то вызывает ошибку с кодом
local f = assert(io.open('test.png', 'wb')) -- открывается или создается файл с указанным именем например test.png в бинарном режиме и если файл не удастся открыть будет вызвана ошибка
f:write(body) -- записывает полученные данные
f:close() -- закрывает файл после записи