2017-02-13 7 views
1

에서 실패 : 나는 크롬의 주소 표시 줄에이 URL을 넣으면요청 브라우저에 성공하지만 <a href="http://mkweb.bcgsc.ca/color-summarizer/?api" rel="nofollow noreferrer">public colour analysis API</a> A와 요청을 만들고 싶어 노드

http://mkweb.bcgsc.ca/color-summarizer?url=http://www.undistraction.com/vangogh/images/fisherman_s_wife_on_the_beach-8.jpg&precision=vlow&num_clusters=7&json=1&histogram=0&pixel=0

, 내가 JSON 개체에 대한 후 반환받을를 10 초, 그러나 노드에서 요청을 만들 때, 나는 ESOCKETTIMEDOUT 오류 만 얻습니다.

이 오류의 원인이 될 수 무엇
request.get({ 
    uri: 'http://mkweb.bcgsc.ca/color-summarizer?url=http://www.undistraction.com/vangogh/images/fisherman_s_wife_on_the_beach-8.jpg&precision=vlow&num_clusters=7&json=1&histogram=0&pixel=0', 
    timeout: 60000, 
}) 
.on('error', (error) => { 
    console.log(error); // ESOCKETTIMEDOUT 
}) 
.on('finish', (body) => { 
    // Happy place 
}); 

?

답변

0

헤더에 사용자 에이전트가 없어서 그런 것 같습니다.

아마 시도 :

request.get({ 
    uri: 'http://mkweb.bcgsc.ca/color-summarizer?url=http://www.undistraction.com/vangogh/images/fisherman_s_wife_on_the_beach-8.jpg&precision=vlow&num_clusters=7&json=1&histogram=0&pixel=0', 
    timeout: 60000, 
    headers: {'User-Agent': 'Some user agent string'} 
}); 

아마 당신은 당신의 브라우저에서 사용자 에이전트 문자열을 복사해야합니다. 또 다른 가능한 솔루션은 정확한 쿠키가 아닐 수 있습니다. 그 엔드 포인트를 공격 할 권한이 있습니까?

더 많은 정보를 원하시면,이 답변을 참조하십시오 : 제안에 대한

+0

감사합니다. 여러 사용자 에이전트를 사용해 보았습니다. 모두 동일한 결과를 얻었으며 끝점은 분명 공개되었습니다. – Undistraction