2016-10-04 3 views
0

저는 개발뿐만 아니라 nodejs도 처음 사용합니다. JSON 형식의 영양 사이트에서 데이터 박쥐를 얻으려고합니다. 브라우저에 붙여 넣기 기준과 함께 내 앱 및 API 키를 사용하여 URL을 공식화하면 JSON 데이터가 잘 표시됩니다. 사이트에서 POST 요청을 보내려고 할 때 요청이 돌아 왔을 때 요청하면 URL을 찾을 수 없다고 표시됩니다. 무엇이 부착되어하고있는 '443'호스트 URL의 끝에와 같은 난 다시 오류로 오는 것을 :POST 요청에서 URL을 찾을 수 없습니다.

는 URL의 끝은을 추가입니다
Error: getaddrinfo ENOTFOUND https://api.nutritionix.com/v1_1/search https://api.nutritionix.com/v1_1/search:443 

내가 뭘하고 싶은 것은 후 '포스트 데이터'.

여기 내 코드입니다 : 나는 또한 크롬에서 부가 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", 때로 믿을 수 ' post_options에서이 문제를 언급 했습니까? –

+0

@PratikGaikwad 나는 그것을 제거하더라도 여전히 동일한 오류가 발생합니다. 그것은 : 443을 postData 대신에 끝에 둡니다. 나는 거기에 있어야한다고 생각해서 추가했다. 찾아보기에 URL을 붙여 넣으면 물론 데이터가없고 API 키를 묻는 사이트가 반환되지만 끝에 443을 넣으면 '찾을 수없는 리소스'가 생깁니다. –

+0

한번 시도해 볼 수 있습니까? 호스트 : "https://api.nutritionix.com/v1_1/search/". 또한 post_options에서 443을 제거하십시오. –

답변

1

this documentation을 (를) 볼 수 있습니까?

당신이 언급 할 필요가 없습니다 것 같다 HTTPS

+0

그게 도움이! 내가 한 것은 "호스트"를 "호스트 이름"으로 변경하고 "api.nutritionix.com"으로 URL을 변경하고 "/ v1_1/검색 /"경로를 설정하고 더 이상 오류를 발견하지 못했습니다. 그러나 나는 어떤 데이터를 다시 얻지는 못하지만 그것은 해결해야 할 별도의 문제입니다. 내 questin에 대답 했어. 당신의 도움을 주셔서 감사합니다. –

0

포트를 끄면 443이 HTTPS의 기본값입니다.

+0

이것은 문제가되지 않습니다. OP의'post_options'에는 약 3 가지 잘못된 점이 있습니다. 하나는'host'에있는 경로이고 다른 하나는 경로 옵션이 공백입니다. 마지막 문제를 알아낼 수 있습니까? – Derek

+0

나는 그것을했고 그것은 여전히 ​​같은 결과입니다. 첨부 : 443 끝으로 동일한 오류가 발생합니다. –

관련 문제