我从Github获取数据用于我的应用程序.前两个OAuth步骤没问题,但在第三个中我得到以下错误:"服务器提交了协议违规.Section = ResponseStatusLine ERROR"这是我的代码:
protected String WebRequest(string url) { url += (String.IsNullOrEmpty(new Uri(url).Query) ? "?" : "&") + "access_token=" + _accessToken; HttpWebRequest webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest; webRequest.Method = "GET"; webRequest.ServicePoint.Expect100Continue = false; try { using (StreamReader responseReader = new StreamReader(webRequest.GetResponse().GetResponseStream())) return responseReader.ReadToEnd(); } catch { return String.Empty; } }
使用StreamReader对象后程序进入异常,返回错误.如果我遵循这些说明服务器提交了协议违规.Section = ResponseStatusLine ERROR,错误变为"403 forbidden".当Github使用api V2时,与现在不同,这段代码没有问题.因此,不能是.NET限制,而是与Github服务器连接的东西.有什么建议?
您需要像这样设置UserAgent:
webRequest.UserAgent = "YourAppName";
否则会The server committed a protocol violation. Section=ResponseStatusLine
出错.