2017-08-05 57 views
0

https://api.github.com/users/[UserName]可以通过浏览器访问。我得到了一个Json结果。但我想以编程方式检索相同的信息。获取GitHub Rest API用户信息C#代码

我正在使用下面的代码,它不像预期的那样工作。请指教。

var credentials = 
string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}:", 
githubToken); 
credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(credentials)); 
client.DefaultRequestHeaders.Authorization = new 
AuthenticationHeaderValue("Basic", credentials); 
var contents = 
client.GetStreamAsync("https://api.github.com/users/[userName]").Result; 

由于上述代码,我得到了“聚合异常”。

如何用c#代码实现要求?请帮忙

注意:不期待Octokit的解决方案。需要适当的C#代码。

+0

您必须对该链接发出http GET请求。在线查看如何在c#中发出请求。我不知道你在使用哪个框架。 – FCin

+0

你能否提供'InnerException'信息。它应该告诉你更多的问题来自哪里。 – Svek

回答

0

我找到了解决方案。这是代码。

HttpWebRequest webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest; 
if (webRequest != null) 
{ 
    webRequest.Method = "GET"; 
    webRequest.UserAgent = "Anything"; 
    webRequest.ServicePoint.Expect100Continue = false; 

    try 
    { 
    using (StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream())) 
    { 
     string reader = responseReader.ReadToEnd(); 
     var jsonobj = JsonConvert.DeserializeObject(reader) 
    } 
    } 
    catch 
    { 
    return; 
    } 
}