2013-05-20 38 views
2

我需要在Lua中使用Freebase API,但Google要求您使用SSL。Lua與Freebase API

Lua沒有內置的網絡支持,所以我不得不使用外部的東西,如LuaSocket和'LuaSec`。問題是我無法安裝它們。

我使用的是ZeroBrane IDE,因此我嘗試下載並將它們放在lualibs目錄中,遵循libs網站上的說明。但ssl.coressl.context丟失。

我在哪裏可以找到它們?

回答

4

ssl.coressl.context似乎在SSL動態庫本身內部。如果您使用的是Windows,你需要做的就是把ssl.dll<ZeroBraneStudio>\bin\clibs\文件夾(ssl.luassl\https.lua已經包含在ZBS lualibs文件夾下安裝),你應該能夠運行下面的示例(我只是測試它):

require("socket") 
local https = require("ssl.https") 
local body, code, headers, status = https.request("https://www.google.com") 
print(status) 

我發佈了一個更復雜的示例,其中顯示了配置和握手步驟:http://notebook.kulchenko.com/programming/https-ssl-calls-with-lua-and-luasec

+0

謝謝!實際上,我在我做過的數百次Google搜索中發現了您的帖子。我覺得自己是個完全白癡,但是那個DLL必須在哪裏?我無法在LuaSocket 2.0.1或LuaSec中找到它 – Alexander

+0

它曾經在LuaSec wiki上被引用,但在重新組織之後,我再也看不到鏈接了。你可以從ZBS的早期版本中抓取它:https://github.com/pkulchenko/ZeroBraneStudio/archive/0.35.zip(bin/clibs/ssl.dll)。 –

+0

謝謝你sooo!我會爲你投票,但沒有聲望去做。再次感謝。 – Alexander