Oscar Dulzaides
Oscar Dulzaides

Reputation: 169

POST request not able to find url

I am new to nodejs as well as developing. I am trying to get a set of data bat from a nutrition site in JSON format. If I formulate the url with my app and api keys along with criteria to paste into the browser I get a JSON data ok. When I try to send a POST request as the site asks for when the request comes back it says it cannot find the url. What it is doing is attaching ':443' to the end of the host url and like I said coming back as an error:

Error: getaddrinfo ENOTFOUND https://api.nutritionix.com/v1_1/search https://api.nutritionix.com/v1_1/search:443

What I would like to do is after the end of the url is append the 'postData'.

Here is my code:

 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;
});

I also am passing this data into the dev HTTP add-on in Chrome and getting back the proper response.

Any help would be appreciated.

Upvotes: 0

Views: 233

Answers (2)

Pratik Gaikwad
Pratik Gaikwad

Reputation: 1568

Can you please take a look at this documentation?

It seems that you don't need to mention HTTPS

Upvotes: 1

Jason Livesay
Jason Livesay

Reputation: 6378

Take the port off, 443 is the default for HTTPS.

Upvotes: 0

Related Questions