Le serveur a commis une violation du protocole. Section=responsable détail=CR doit être suivi de LF, dans WinForms?
j'essaie d'utiliser un WebClient / HttpWebRequest pour télécharger des données à partir d'un serveur. J'utilise le code suivant:
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);
le serveur est ma page est dans la configuration de mon routeur. Il fonctionne très bien à partir d'un navigateur, mais quand téléchargé en utilisant mon code il lance un WebException
avec le message
le serveur a commis une violation de protocole. Section=responsable détail=CR doit être suivi de LF, dans WinForms?.
j'ai trouvé une solution que l'on utiliserait s'ils utilisaient ASP.net, ajoutant ce qui suit À web.config:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
Cependant, je fais une application WinForms si cela ne fonctionne pas pour moi. Quelles sont les solutions de rechange pour régler ce problème?
1 réponses
tout d'abord, ajouter une application.fichier de configuration est tout aussi facile que d'ajouter n'importe quel autre fichier comment: ajouter un fichier de Configuration D'Application à un projet C#
alors vous avez juste à ajouter ce code snippet ci-dessus à cette nouvelle application.config.
une autre façon de définir cette propriété via le code, en évitant la nécessité d'une application.la configuration est affichée ici ou ici.