Luasec Luasocket https.request与用户代理和返回正文

问题描述 投票:0回答:1

我想使用LuaSec使用自定义用户代理创建https.request。我试过这里描述的方法:

https://github.com/brunoos/luasec/wiki/LuaSec-0.4#httpsrequesturl---body

但我不知道如何将http标头传递给此函数,避免将响应体设置为数字1,如下所述:

如果url是一个表,则该函数返回相同的结果,除了响应的主体被值1替换。

 local headers = {
    ["user-agent"] = "My User Agent",
}

local r, c, h, s = _https.request {
    url = url,
    method = method,
    headers = headers,
}
-- r is 1, no the response body!

如果我将请求更改为

_https.request("https://my-site-goes-here.com/")

我得到了响应主体,但后来我再也无法设置用户代理了。

谢谢你的帮助!

lua get httprequest luasocket luasec
1个回答
1
投票

如果指定表,则第一个返回元素在成功时始终为1;接收实际数据还要指定接收器,接收数据将存储到接收器。例如:

local chunks = {}
local r, c, h, s = _https.request {
    url = url,
    method = method,
    headers = headers,
    sink = ltn12.sink.table(chunks)
}
local response = table.concat(chunks)

现在您可以从变量response中检索响应

© www.soinside.com 2019 - 2024. All rights reserved.