【发布时间】:2014-10-15 01:04:38
【问题描述】:
我正在尝试通过会员重启来设置 github。
如果我尝试从像这样的浏览器调用 github api
如果我从 .net 尝试,我可以看到所有有效的 json 数据
public ActionResult Index()
{
var url = "https://api.github.com/user?access_token=XXXXXXXX";
////add additional params
//if (additionalParams != null)
//{
// foreach (string key in additionalParams)
// {
// url += string.Format("&{0}={1}", key, additionalParams[key]);
// }
//}
HttpClient client = new HttpClient();
var result = client.GetAsync(url).Result;
if (result.IsSuccessStatusCode)
{
var json = result.Content.ReadAsStringAsync().Result;
var profile = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
//return GetClaimsFromProfile(profile);
}
return View();
}
我得到一个错误
服务器违反了协议。 Section=ResponseStatusLine
HttpClient 不喜欢我正在尝试的什么?我需要提供浏览器为我做的额外细节吗?
任何帮助将不胜感激!
【问题讨论】:
-
你看过最终的网址了吗?会不会有换行符或非法字符?
-
最终的 url 看起来不错,对于上面的示例,我将 url 更改为硬编码字符串,但这是代码中的实际值
-
实际值是多少?您没有为
additionalParams提供值,我怀疑问题是由它包含的值引起的