HTTPS (SSL) 使用 NodeMCU 获取请求

HTTPS (SSL) get request with NodeMCU

我想用我的 ESP8266 运行 NodeMCU 对 googleapi.com 执行 GET 请求,以从 google 日历 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")

没有触发(甚至 "connected")。

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

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

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

net 模块所需的修复在 master 分支上尚不可用。 PR 1014 2 月初才合并到 dev 分支。

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