如何在 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 请求?