【问题标题】:How to use HTTPS post request in NodeMCU HTTP module如何在 NodeMCU HTTP 模块中使用 HTTPS 发布请求
【发布时间】:2017-07-18 02:07:15
【问题描述】:

我将以下代码与 NodeMCU 固件的 HTTP 模块一起使用。根据文档,HTTP 和 HTTPS URL 都应该可以工作。

https://nodemcu.readthedocs.io/en/master/en/modules/http/#httppost

虽然我在使用“https”时遇到了错误。 'http' 对我来说很好用。对于代码中的 URL,我面临以下错误。

“为 HTTPS 端口发送了普通的 http 请求”。

请帮忙。

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

【问题讨论】:

    标签: lua iot esp8266 nodemcu ifttt


    【解决方案1】:

    我怀疑您的固件没有启用 SSL/TLS。因此,它将在内部使用http 而不是https,但仍将其发送到端口443。

    【讨论】:

    • 谢谢。我错过了在固件中添加 SSL 支持。虽然看起来,在 nodemcu 2.0.0 构建中,即使添加了 ssl 支持,它也无法正常工作。虽然我得到了我的查询的答案。再次感谢。 stackoverflow.com/questions/42414431/…
    【解决方案2】:

    您的代码看起来不错,因为您说文档在请求中支持 http 和 https。您遇到的问题可能是服务器不允许 http 请求,因为它运行 https 协议。

    如果你用谷歌搜索你的错误,你会看到抛出一个 nginx 400 错误的错误。

    【讨论】:

    • “服务器不允许 http 请求的问题” - OP 发送 HTTP,至少不是故意的,因为 URL 是 https://maker..。他/她甚至说使用纯 HTTP 是可行的。
    猜你喜欢
    • 2012-10-20
    • 2017-09-05
    • 1970-01-01
    • 2018-05-04
    • 2016-06-29
    • 2022-01-16
    • 2019-04-26
    • 2015-02-27
    • 2017-01-04
    相关资源
    最近更新 更多