2013-05-20 40 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