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
がスローされます
サーバーはプロトコル違反をコミットしました。 Section = ResponseHeader Detail = CRの後に、WinFormsでLFが続く必要がありますか?.
ASP.netを使用していて、web.configに以下を追加する場合に使用するソリューションを見つけました。
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
ただし、WinFormsアプリを作成しているため、これは機能しません。この問題を解決するための代替手段はありますか?
まず、app.configファイルの追加は、他のファイルを追加するのと同じくらい簡単です。 方法:C#プロジェクトにアプリケーション構成ファイルを追加する
その後、上記のコードスニペットを新しいapp.configに追加するだけです。
App.configの必要性を回避するコードを介してそのプロパティを設定する別の方法は here または here で示されています。