我正在尝试与Lua的服务器通信以验证用户身份.这是我的请求函数的样子: function http.send(url) local req = require("socket.http") local b, c, h = req.request{ url = url, redirect = true } return bend 但是,我注意
function http.send(url) local req = require("socket.http") local b, c, h = req.request{ url = url, redirect = true } return b end
但是,我注意到数据被丢弃,因为我没有提供sink参数.我希望能够将下载的数据作为整个字符串返回,而不是下载到文件/表.我该怎么做?
您可以使用ltn12.sink.table
将结果逐个收集到给定的表中.然后你可以使用table.concat来获得结果字符串.
从ltn12.sink文档中使用的示例:
-- load needed modules local http = require("socket.http") local ltn12 = require("ltn12") -- a simplified http.get function function http.get(u) local t = {} local status, code, headers = http.request{ url = u, sink = ltn12.sink.table(t) } return table.concat(t), headers, code end