在NodeJS中收到“错误请求”HTTPS Post请求

时间:2017-06-11 18:00:34

标签: node.js post https

我正在尝试使用NodeJS发送Https post请求,但是回到'Bad request'。同时当我通过curl发送相同的请求时,一切都很好。你能帮忙解决一下节点代码:

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) {...}

卷曲查询: 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 个答案:

答案 0 :(得分:2)

使用http.request()您的帖子数据不会在查询字符串中发送。如果包含查询字符串,则将其作为查询字符串发送。您的帖子数据需要与req.write(data)一起发送。请参阅the doc中的代码示例。

可能是您的服务器正在返回该错误,因为POST正文中没有数据。