LUA curl请求超时

时间:2018-06-25 09:14:10

标签: curl lua

我使用LUA代码将json-data发送到后端:

local cURL = require("cURL")
local c, err = cURL.easy{
  url = "http://10.10.10.10",
  post = true,
  httpheader = { "Content-Type: application/json"; },
  postfields = jsonString
}

local ok, err = c:perform()

除一件事外,一切都完美。如果我没有收到服务器的响应,我的脚本将继续工作。我需要添加一些超时,如果超时期间我没有收到响应,请关闭连接。

1 个答案:

答案 0 :(得分:0)

根据官方documentation easy创建了一个Easy对象,该对象接收一个选项表作为参数:

 c = curl.easy{
   url = 'http://example.com',
   [curl.OPT_VERBOSE] = true,
 }

现在,我认为您可以通过相同的方式传递CURLOPT_TIMEOUT parameter来设置允许请求花费的最长时间。因此在代码中:

local c, err = cURL.easy{
  url = "http://10.10.10.10",
  post = true,
  httpheader = { "Content-Type: application/json"; },
  postfields = jsonString,
  [curl.OPT_TIMEOUT] = 60, --Your timeout of choice
}

同样,我之前并没有实际使用过此参数,但我相信它的工作方式与其他CURLOPT参数相同。