如何在 C# 中使用 rest api 从 github 为用户(人)获取数据?

Posted

技术标签:

【中文标题】如何在 C# 中使用 rest api 从 github 为用户(人)获取数据?【英文标题】:How to get data from github for an user (person) using restapi in C#? 【发布时间】:2020-12-08 14:19:44 【问题描述】:

我想从 GitHub 获取特定人员的所有数据。输入用户名时从 Github 获取所有数据。除了浏览器上的 [] 之外,我什么也没得到,在控制台中我得到加载资源失败:服务器响应 404()。下面是我为此创建的方法。有人能帮助我吗。谢谢

private void GetGithubData()
    
        string username = "testUser";
        var url = "https://api.github.com/users/" + username + "/repos?page=1";

        HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
        request.Method = "GET";
        request.ContentType = "application/json";
        request.UserAgent = "TestApp";

        using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        
            StreamReader reader = new StreamReader(response.GetResponseStream());

            reader.ReadToEnd();
        
    

【问题讨论】:

那么问题出在哪里?你应该提到你有什么问题...... 除了 [] 在浏览器和控制台中我什么都没有得到 Failed to load resource: the server respond with 404() 在这段代码中,你发出一个请求,然后你读取它而不将它存储在任何地方。你的问题是你得到 []404 吗?请使用print 记录其内容:Console.WriteLine(reader.ReadToEnd()); 可以是你的防火墙/代理吗?我刚刚尝试了我自己的用户并且它工作(在浏览器上)。 @CrislyDomingos 如果你在一家公司,可能会要求访问api.github.com。 【参考方案1】:

谢谢大家,我发现了错误。基本上,我必须返回数据。所以我在下面发布了解决方案

private **string** GetGithubData()

    string username = "testUser";
    var url = "https://api.github.com/users/" + username + "/repos?page=1";

    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    request.Method = "GET";
    request.ContentType = "application/json";
    request.UserAgent = "TestApp";

    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
    
        StreamReader reader = new StreamReader(response.GetResponseStream());
        **return** reader.ReadToEnd();
    

【讨论】:

以上是关于如何在 C# 中使用 rest api 从 github 为用户(人)获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

使用 C# 从 Unity 中的 REST Api 无延迟或抖动地检索数据

如何在 C# 中使用 Magento 2 API 创建 REST 请求?

如何在 c# 中使用 rest api 进行 paypal 卡存在(刷卡)付款?

如何在 C# 的 REST API 中获取 PDF 文件

如何在 C# 中实现 YouTrack REST API

在C#中解析Json rest api响应[重复]