Necesito leer una ubicación en mi enrutador, pero obtengo la siguiente excepción: ServerProtocolViolation "El servidor cometió una infracción de protocolo. Section = ResponseHeader Detail = CR debe ir seguido por LF"C#: Manejo WebClient "violación de protocolo"
Esto ocurre cuando uso la función .DownloadString (url). ¿Hay alguna manera de hacer que WebClient ignore la violación del protocolo? Las búsquedas en Google me dicen que debo establecer la opción useUnsafeHeaderParsing en alguna parte. ¿Puedo hacerlo a través del programa? ¿Cuál es el truco si lo uso?
edición: Asociación de código -
public Readlog() {
WebClient wc = new WebClient();
string url = @"http://192.168.0.1/setup.cgi?next_file=log.htm&todo=cfg_init";
Console.WriteLine(url);
try {
//wc.Headers.Add("User-Agent", "Mozilla/5.0(Windows; U; Windows NT 5.2; rv:1.9.2) Gecko/20100101 Firefox/3.6");
wc.Credentials = new NetworkCredential("admin", "admin");
//Next line causes exception System.Net.WebException
//Message - "The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF"
//May be I need to use useUnsafeHeaderParsing somehow to avoid that
string result = wc.DownloadString(url);
Console.WriteLine(result);
} catch (WebException we) {
System.Diagnostics.Trace.WriteLine(we.ToString());
}
}
Es posible que desee pegar el código en su pregunta. –