所以,我正在尝试向github发出HTTP请求,以返回特定github存储库上所有问题的列表。我在下面的代码中使用了coffeescript,但对于任何JS开发人员来说都应该是相当自我解释的。我的困惑是,如果我在浏览器中输入“https://api.github.com/repos/username/repo-name/issues”,我可以检索我正在寻找的所有信息。当我尝试通过request node library的应用程序发出请求时,收到错误消息“用户代理字符串丢失或无效”。如果您知道如何正确构建URL以实际从github API检索信息,请告诉我。
githubUrl = "https://api.github.com/repos/#{username}/#{repoName}/issues?state=open"
request githubUrl, (error, response, body) ->
console.log body
答案 0 :(得分:5)
你需要传递用户代理字符串,就像它说的那样:)我只是从chrome中提取了一个:
require( 'https' )
.get({
hostname : 'api.github.com'
, path :'/repos/cwolves/jquery-imask/issues'
, headers : {
'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1521.3 Safari/537.36'
}
}, function(res){
res.on('data',function(data){
console.log(data+'');
});
});