2017-02-27 4 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가 활성화되어 있지 않은 것 같습니다. 따라서 내부적으로는 https 대신 http을 사용하지만 여전히 포트 443으로 보냅니다.

+0

감사합니다. 펌웨어에 SSL 지원을 추가하지 않았습니다. nodemcu 2.0.0 빌드에서는 ssl 지원을 추가 한 후에도 작동하지 않는 것처럼 보입니다. 내 질문에 대한 답변을 얻었지만. 다시 한번 감사드립니다. http://stackoverflow.com/questions/42414431/nodemcu-lua-http-get-disconnected-with-error-8-what-is-error-8 – Jatinder

0

문서가 http 및 https 요청을 지원한다고 말하면 코드는 괜찮아 보입니다. HTTPS 프로토콜을 실행하기 때문에 HTTP 요청을 허용하지 않는 서버의 문제 일 수 있습니다.

오류가 발생하면 nginx 400 오류가 발생합니다.

+0

"서버가 HTTP 요청을 허용하지 않는 문제"- OP가 HTTP가 아닌 의도적으로 HTTP를 보내지 않음 URL은'https : // maker..'입니다. 그/그녀는 심지어 일반 HTTP를 사용하여 작동한다고 말합니다. –