我正在使用以下版本的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
答案 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/")