我是nodejs和开发人员的新手。 我想从JSON格式的营养网站获取一组数据蝙蝠。如果我使用我的应用程序和api键以及要粘贴到浏览器的条件来制定网址,我就可以获得JSON数据。当我尝试发送POST请求时,当站点询问请求何时返回时,它表示无法找到该URL。它正在做的是将':443'附加到主机URL的末尾,就像我说的那样作为错误回来:
Error: getaddrinfo ENOTFOUND https://api.nutritionix.com/v1_1/search https://api.nutritionix.com/v1_1/search:443
我想做的是在网址结尾后添加'postData'。
这是我的代码:
var https = require('https');
var querystring = require('querystring');
var postData = { // Nutrionix required JSON formt
"appId":"MY_APP_KEY",
"appKey":"MY_API_KEY",
"query": "Lentils",
"fields": ["item_name", "nf_calories", "nf_serving_size_qty", "nf_serving_size_unit"],
"sort":{
"field":"score",
"order":"desc"
},
"filters":{
"item_type":"2"
}
};
console.log("This is header dta" + postData);
postBody = querystring.stringify(postData);
var post_options = {
host:"https://api.nutritionix.com/v1_1/search",
"port":"443",
method:"post",
"path":"/",
headers:{"Content-Type":"application/json",
'Content-Length': postBody.length
}
}
console.log(post_options);
var request = https.request(post_options,function(response){
return response;
});
我也将这些数据传递到Chrome中的dev HTTP插件并获得正确的响应。
任何帮助将不胜感激。