El servidor ha ocasionado una violación del protocolo. Sección = ResponseHeader Detail = CR debe ir seguido de LF, In WinForms?

Estoy tratando de usar un WebClient / HttpWebRequest para descargar algunos datos de un servidor. Yo uso el siguiente código para hacerlo:

WebClient client = new WebClient();
client.Credentials = new NetworkCredential("admin", "password");
Stream datastream = client.OpenRead("http://routerlogin.com/cgi-bin/CF_logs.html");
StreamReader reader = new StreamReader(datastream);

El servidor es mi página está en la configuración de mi enrutador. Funciona bien desde un navegador, pero cuando se descarga usando mi código, arroja unWebException con el mensaje

El servidor ha ocasionado una violación del protocolo. Sección = ResponseHeader Detail = CR debe ir seguido de LF, In WinForms?

He encontrado una solución que se usaría si estuvieran usando ASP.net, agregando lo siguiente a web.config:

<configuration> 
    <system.net> 
        <settings> 
            <httpWebRequest useUnsafeHeaderParsing="true" /> 
        </settings> 
    </system.net> 
</configuration>

Sin embargo, estoy creando una aplicación WinForms, así que esto no funcionará para mí. ¿Qué alternativas hay para solucionar este problema?

Respuestas a la pregunta(1)

Su respuesta a la pregunta