2017-08-05 58 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; 
    } 
}