0

因此,我正在尝试向 github 发出 HTTP 请求,以返回特定 github 存储库中所有问题的列表。我在下面的代码中使用了 coffeescript,但对于任何 JS 开发人员来说,它应该是相当不言自明的。我的困惑是,如果我在浏览器中输入“ https://api.github.com/repos/username/repo-name/issues ”,我可以检索到我正在寻找的所有信息。当我尝试使用请求节点库通过我的应用程序发出请求时,我收到一条错误消息“缺少或无效的用户代理字符串” 。如果您知道如何正确构建 URL 以实际从 github API 检索信息,请告诉我。

githubUrl = "https://api.github.com/repos/#{username}/#{repoName}/issues?state=open"

    request githubUrl, (error, response, body) ->

        console.log body
4

1 回答 1

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+'');
    });
});
于 2013-06-06T05:06:42.983 回答