2017-02-27 138 views
1

我正在使用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 

回答

1

我懷疑你的固件沒有啓用SSL/TLS。因此,它將在內部使用http而不是https,但仍將其發送到端口443.

+0

謝謝。我錯過了在固件中添加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

0

你的代碼似乎很好,因爲你說文檔支持請求中的http和https。您遇到的問題可能是服務器不允許http請求,因爲它運行的是https協議。

如果你google你的錯誤,你會看到錯誤是拋出一個nginx 400錯誤。

+0

「服務器不允許http請求的問題」 - OP將不會有意發送HTTP,至少不會故意將該示例作爲URL是'https:// maker..'。他/她甚至會說使用普通HTTP工作。 –