2013-11-25 68 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/")