我正在尝试使用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>'
答案 0 :(得分:2)
使用http.request()
您的帖子数据不会在查询字符串中发送。如果包含查询字符串,则将其作为查询字符串发送。您的帖子数据需要与req.write(data)
一起发送。请参阅the doc中的代码示例。
可能是您的服务器正在返回该错误,因为POST正文中没有数据。