我想使用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/")
我得到了响应主体,但后来我再也无法设置用户代理了。
谢谢你的帮助!
如果指定表,则第一个返回元素在成功时始终为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
中检索响应