POST请求无法找到网址

时间:2016-10-04 01:16:35

标签: json node.js

我是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插件并获得正确的响应。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

你能看一下this documentation吗?

您似乎不需要提及 HTTPS

答案 1 :(得分:0)

关闭端口,443是HTTPS的默认端口。