Lua https超时无效

时间:2013-11-25 12:44:03

标签: https lua openwrt luasocket

我正在使用以下版本的Lua及其在openWRT环境中的数据包:

  • luasocket-2.0.2

  • luasec-0.4

  • LUA-5.1.4

尝试使用超时进行https.request通话。尝试使用https.TIMEOUT local https = require("ssl.https"),但它永远不会超时。我尝试给出一个非常小的timeout(我知道在那段时间我不会得到答案,并且互联网连接正常)我也尝试在调用https.request后断开网络连接。这是一个已知的问题吗?或者我会为此尝试别的东西。我可以猜测send/recieve无限期阻挡它。

-Swapnel

1 个答案:

答案 0 :(得分:4)

ssl.https上设置超时不起作用。您必须在socket.http上设置它。

例如,如果您的代码如下所示:

local https = require "ssl.https"
https.TIMEOUT = 0.01
b, c, h = https.request("https://www.google.fr/")

将其更改为:

local http = require "socket.http"
local https = require "ssl.https"
http.TIMEOUT = 0.01
b, c, h = https.request("https://www.google.fr/")