2016-10-04 6 views
0

私はnodejsに興味があり開発中です。 私はJSON形式の栄養サイトからデータのバットを取得しようとしています。私がブラウザに貼り付ける基準と一緒に私のアプリとAPIのキーでURLを策定すれば、私はJSONデータをOKにする。サイトがPOST要求を送信しようとすると、要求が戻ってきたときにURLが見つからないというメッセージが表示されます。ホストURLの末尾に「443」と同様、私はエラーとして戻ってくる言った:何それはやっていることは添付されたURLの最後が追加された後POSTリクエストでURLを見つけることができません

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

私がやりたい何かがあります'postData'。

はここに私のコードです:私もChromeでアドオンのdevのHTTPにこのデータを渡すと、適切な応答を返し取得しています

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

ご協力いただければ幸いです。

+0

ホスト: "https://api.nutritionix.com/v1_1/search"、 "ポート": "443"、 AREN」あなたはpost_optionsでこれを言いましたか? –

+0

@PratikGaikwad私はそれを削除しても、私はまだ同じエラーが発生します。それはpostDataの代わりに:443を最後に置きます。私はそこにいる必要があると思ったので追加しました。ブラウズにURLを貼り付けると、もちろんデータのないサイトとAPIキーを要求しますが、最後に:443を付けると、リソースが見つかりませんでした。 –

+0

これは一度お試しいただけますか?ホスト: "https://api.nutritionix.com/v1_1/search/"また、post_optionsから443を削除してください。 –

答えて

1

this documentationをご覧ください。

あなたが言及する必要がないと思われHTTPS

+0

それが助けになった!私は "host"を "hostname"に変更し、urlを "api.nutritionix.com"に変更して "/ v1_1/search /"にパスを設定しました。私はしかし、すべてのデータを取得していないが、それは私が解決する必要があります別の問題です。あなたは私のクエストに答えました。ご協力いただきありがとうございます。 –

0

ポートをオフにします.443がHTTPSのデフォルトです。

+0

これは問題ではありません。 OPの 'post_options'には3つの問題があります。一つは' host'のパスで、もう一つはpathオプションが空白です。あなたは最後の問題を理解できますか? – Derek

+0

私はやったが、それはまだ同じ結果です。それは添付する:443最後に、私は同じエラーが発生します。 –

関連する問題