HTTPS(SSL)获取NodeMCU的请求

时间:2016-03-14 13:02:31

标签: ssl https lua esp8266 nodemcu

我想使用运行NodeMCU的ESP8266向googleapi.com执行GET请求,以从google Calendar API获取一些数据。该网站仅允许安全连接(HTTPS / SSL)。

首先,我一直在尝试连接google.com(安全)试一试,但也没有成功。这是LUA代码:

conn=net.createConnection(net.TCP, 1)
conn:on("receive", function(sck, c) print(c) end )
conn:on("connection", function(conn)
      print("connected")
      conn:send("HEAD / HTTP/1.1\r\n".. 
             "Host: google.com\r\n"..
             "Accept: */*\r\n"..
             "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)"..
             "\r\n\r\n") 
end )
conn:on("disconnection", function(conn)  print("disconnected") end )
conn:connect(443,"google.com")

什么都没有被触发(甚至没有"连接")。

我还通过选择SSL支持从网站http://nodemcu-build.com下载了最新的版本的nodemcu(主分支)。

NodeMCU custom build by frightanic.com
    branch: master
    commit: c8037568571edb5c568c2f8231e4f8ce0683b883
    SSL: true

有人能告诉我我做错了什么吗?有人在Reddit报告了问题,但没有给出最终解决方案。

1 个答案:

答案 0 :(得分:2)

主分支上尚未提供net模块所需的修复程序。 PR 1014仅在2月初合并到dev分支。

dev分支有一个HTTP客户端模块,您可以使用该模块将代码缩短为单行。有关详细信息,请参阅http://nodemcu.readthedocs.org/en/dev/en/modules/http/#httpget