我从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对象后进入异常,返回错误。 如果我按照这些说明The server committed a protocol violation. Section=ResponseStatusLine ERROR,则错误变为" 403禁止"。 当Github使用api V2时,与现在不同,这段代码没有问题。 因此,不能成为.NET限制,而是与Github服务器连接的东西。 有什么建议吗?
答案 0 :(得分:18)
您需要像这样设置UserAgent:
webRequest.UserAgent = "YourAppName";
否则会出现The server committed a protocol violation. Section=ResponseStatusLine
错误。