2017-06-11 6 views
0

NodeJSを使用してHttps投稿要求を送信しようとしていますが、「Bad request」が返ってきました。同時に私がカールで同じ要求を送るときにはすべてが問題ありません。あなたはノードのコードを修正するのを助けることができる:NodeJSのHTTPS Post要求を受け取りました

var options = { 
     host: 'api.wit.ai', 
     port: 443, 
     path: '/converse?v=20170611&session_id=125abc&q=Hi', 
     method: 'POST', 
     headers: { 
      'Content-Type': 'application/json', 
      'Accept': 'application/json', 
      'Authorization': 'Bearer <token>' 
     } 
    }; 
var req = https.request(options, function(res) {...} 

カールクエリ:http.request()curl -XPOST 'https://api.wit.ai/converse?v=20170611&session_id=125abc&q=Hi' \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H 'Authorization: Bearer <token>'

答えて

1

あなたのポストデータをクエリ文字列で送信するされていません。クエリ文字列を含めると、クエリ文字列として送信されます。投稿データはreq.write(data)で送信する必要があります。コード例はthe docを参照してください。

おそらく、POSTの本体にデータがないため、サーバーはそのエラーを返しています。

+0

問題を修正しました。req.write(querystring.stringify({}));以前はreq.write( 'body')でした。 –

関連する問題