我想使用LuaSec使用自定义用户代理创建https.request。 我尝试过这里描述的方法:
https://github.com/brunoos/luasec/wiki/LuaSec-0.4#httpsrequesturl---body
但我不知道如何将http标头传递给此函数,同时避免将响应主体设置为数字1,如下所述:
如果网址是表格,则该函数返回相同的结果,但响应的正文被替换为值 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/")
我得到了回复的身体,但我不能再设置用户代理了。
感谢您的帮助!
答案 0 :(得分: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