Подтвердить что ты не робот

Сервер совершил нарушение протокола. Раздел = ResponseHeader Detail = CR должен сопровождаться LF, в WinForms?

Я пытаюсь использовать 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, так что это не сработает для меня. Какие альтернативы существуют, чтобы исправить эту проблему?

4b9b3361

Ответ 1

Во-первых, добавление файла app.config так же просто, как добавление любого другого файла, Как добавить файлы конфигурации приложения в проекты С#

Затем вам просто нужно добавить этот фрагмент кода выше к этому новому app.config.

Другой способ установить это свойство с помощью кода, избегая необходимости в app.config, показан здесь или .