我正在尝试使用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详细信息=CR必须跟随LF,在WinForms中?
我找到了一种解决方案,如果使用ASP.net,则可以将以下内容添加到web.config文件中:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
然而,我正在制作一个 WinForms 应用程序,所以这对我来说行不通。有什么替代方案可以解决这个问题吗?