2013-11-25 39 views
1

我使用以下的Lua的版本和它的上OpenWrt的环境包:Lua的HTTPS超时工作不

  • 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

这将是很好,如果你愿意提供完整的代码示例。不是“文字方式的墙”。简单阅读和解决您的问题:) – Kamiccolo

回答

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/")