2016-08-28 7 views
1

NodeMCUでHTTPS GETリクエストを行うことに問題がありますが、文書によれば可能であり、StackOverflowのthis answerがここにあるはずです。NodeMCUとESP8266でHTTPSを取得する

私がしようとしているコードは次のとおりです。-1 nil

function getHTTPS() 
    http.get('https://httpbin.org/get', nil, function(code, data) 
     print(code, data) 
    end) 
end 

enduser_setup.start(
    function() 
    print("Connected to wifi as: " .. wifi.sta.getip()) 
    getHTTPS() 
    end, 
    function(err, str) 
    print("enduser_setup: Err #" .. err .. ": " .. str) 
    end 
); 

これは私に結果を取得します。 URLをhttps://httpbin.org/getからhttp://httpbin.org/getに変更すると、予想される結果が200 <RESPONSE>になります。

マイNodeMCUビルドは次のとおりです。

NodeMCU custom build by frightanic.com 
    branch: master 
    commit: 95e85c74e7310a595aa6bd57dbbc69ec3516e9c6 
    SSL: true 
    modules: cjson,enduser_setup,file,gpio,http,mdns,net,node,tmr,uart,wifi build 
built on: 2016-08-27 07:36 
powered by Lua 5.1.4 on SDK 1.5.4.1(39cb9a32) 

私が間違って何をしているのですか?

答えて

3

あなたは間違ったことはしていません。 DEBUGが有効になっているファームウェアでこれを行った場合、SSLハンドシェイクが失敗することがわかります。

Espressif SDKに付属のSSLライブラリは、4 cipher suitesのみをサポートしています。どちらも、httpbin.orgが使用するSSL証明書がサポートする暗号のリストにはありません。

+0

ああ!あなたはこの要求を行う方法について知っていますか? –

+0

ええ、正解です。私たちはこの問題を[私たちの問題リスト](https://git.io/v6h6B)とここに掲載しました。 NodeMCUのSDKがaxTLSの代わりに[mbedTLS](https://github.com/nodemcu/nodemcu-firmware/pull/1435#issuecomment-237364942)を使用するまで、httpbin.orgへの暗号化された接続はできません。 –

関連する問題