Я бы просто использовал Lua Socket , который поставляется с http подмодулем .Вы можете просто использовать http.request, чтобы поместить веб-страницу в любой контейнер, который вам нужен (по умолчанию это строка, но вы можете использовать таблицу, файл, stdio, ... используя фильтры и приемники ltn12).
В качестве примера:
local http=require'socket.http'
local body, statusCode, headers, statusText = http.request('http://w3.impa.br/~diego/software/luasocket/http.html')
print('statusCode ', statusCode)
print('statusText ', statusText)
print('headers ')
for index,value in pairs(headers) do
print("\t",index, value)
end
print('body',body)