Я пытаюсь использовать WebClient/HttpWebRequest для загрузки некоторых данных с сервера. Для этого я использую следующий код:
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);
Сервер - это моя страница в моей конфигурации маршрутизатора. Он отлично работает в браузере, но при загрузке с использованием моего кода он выдает WebException
с сообщением
Сервер совершил нарушение протокола. Раздел = ResponseHeader Detail = CR должен сопровождаться LF, в WinForms?.
Я нашел решение, которое можно было бы использовать, если бы они использовали ASP.net, добавив следующее в web.config:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
Однако, я делаю приложение WinForms, так что это не сработает для меня. Какие альтернативы существуют, чтобы исправить эту проблему?