如何在NodeMCU HTTP模块中使用HTTPS发布请求
问题描述:
我正在使用NodeMCU固件的HTTP模块使用以下代码。根据文档,HTTP和HTTPS URL都可以工作。如何在NodeMCU HTTP模块中使用HTTPS发布请求
https://nodemcu.readthedocs.io/en/master/en/modules/http/#httppost
当我使用的 'https' 虽然我得到错误。 'http'对我来说工作正常。对于代码中的URL,我面临以下错误。
“纯HTTP请求已发送到HTTPS端口”。
请帮忙。
http.post('https://maker.ifttt.com/trigger/......',
'Content-Type: application/json\r\n',
'{"value1":"mainlobby"}', function(code, data)
if (code < 0) then
print("HTTP request failed")
else
print(code, data)
end
end
答
我怀疑你的固件没有启用SSL/TLS。因此,它将在内部使用http
而不是https
,但仍将其发送到端口443.
答
你的代码似乎很好,因为你说文档支持请求中的http和https。您遇到的问题可能是服务器不允许http请求,因为它运行的是https协议。
如果你google你的错误,你会看到错误是抛出一个nginx 400错误。
+0
“服务器不允许http请求的问题” - OP将不会有意发送HTTP,至少不会故意将该示例作为URL是'https:// maker..'。他/她甚至会说使用普通HTTP工作。 –
谢谢。我错过了在固件中添加SSL支持。虽然看起来像在nodemcu 2.0.0 build中,即使在添加ssl支持之后,它也不起作用。虽然我得到了我的查询的答案。再次感谢。 http://stackoverflow.com/questions/42414431/nodemcu-lua-http-get-disconnected-with-error-8-what-is-error-8 – Jatinder