什么是用户代理字符串(github api)

时间:2013-06-06 01:59:48

标签: javascript node.js api github coffeescript

所以,我正在尝试向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

1 个答案:

答案 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+'');
    });
});