2014-03-26 21 views
5

Ich erhalte Daten von Github für meine Anwendung. Die ersten 2 OAuth Schritte sind in Ordnung, aber in der dritten bekam ich folgende Fehlermeldung: „der Server verpflichtet, eine Protokollverletzung Abschnitt = ResponseStatusLine ERROR.“ Das ist mein Code:Protokollverletzung mit Github api

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; 
     } 
    } 

Das Programm geht in Ausnahme nach der Verwendung des StreamReader-Objekts, die den Fehler zurückgibt. Wenn ich diesen Anweisungen The server committed a protocol violation. Section=ResponseStatusLine ERROR folge, wird der Fehler zu "403 verboten". Als Github api V2 verwendete, gab es kein Problem mit diesem Code. Also, kann nicht eine .NET-Beschränkung aber etwas mit Github-Server verbunden sein. Irgendwelche Vorschläge?

+0

Haben Sie eine Lösung dafür gefunden? Ich laufe auf dasselbe Problem, aber ich habe auch einige durcheinandergewürfelte Antworten (verschiedene Threads, Anfrage 1 hat auch die Antwort von Anfrage 2) ... – mnkypete

+0

Ich bekomme auch den gleichen Fehler hier. Urgh :( –

Antwort

14

Sie müssen wie folgt eingestellt Useragent:

webRequest.UserAgent = "YourAppName"; 

Sonst wird es The server committed a protocol violation. Section=ResponseStatusLine Fehler geben.

+1

Vielen Dank ... Habe versucht, dieses Problem im Internet zu lösen. – Akanksha

Verwandte Themen