如何在 NodeMCU HTTP 模块中使用 HTTPS post 请求
How to use HTTPS post request in NodeMCU HTTP module
我在 NodeMCU 固件的 HTTP 模块中使用以下代码。根据文档,HTTP 和 HTTPS URLs 都应该工作。
https://nodemcu.readthedocs.io/en/master/en/modules/http/#httppost
尽管我在使用 'https' 时出现错误。 'http' 对我来说工作正常。对于代码中的 URL,我面临以下错误。
"The plain http request was sent for HTTPS port"。
请帮忙。
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
您的代码看起来不错,因为您说文档在请求中支持 http 和 https。您遇到的问题可能是服务器不允许 http 请求,因为它运行 https 协议。
如果你 google 你的错误你会看到抛出的错误是 nginx 400 错误。
我怀疑您的固件没有启用 SSL/TLS。因此,它会在内部使用 http
而不是 https
但仍将其发送到端口 443.
我在 NodeMCU 固件的 HTTP 模块中使用以下代码。根据文档,HTTP 和 HTTPS URLs 都应该工作。
https://nodemcu.readthedocs.io/en/master/en/modules/http/#httppost
尽管我在使用 'https' 时出现错误。 'http' 对我来说工作正常。对于代码中的 URL,我面临以下错误。
"The plain http request was sent for HTTPS port"。
请帮忙。
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
您的代码看起来不错,因为您说文档在请求中支持 http 和 https。您遇到的问题可能是服务器不允许 http 请求,因为它运行 https 协议。
如果你 google 你的错误你会看到抛出的错误是 nginx 400 错误。
我怀疑您的固件没有启用 SSL/TLS。因此,它会在内部使用 http
而不是 https
但仍将其发送到端口 443.