47

サーバーからデータをダウンロードするために 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 の後に LF を付ける必要があります。WinForms では?.

ASP.net を使用している場合に使用するソリューションを見つけ、web.config に以下を追加しました。

<configuration> 
    <system.net> 
        <settings> 
            <httpWebRequest useUnsafeHeaderParsing="true" /> 
        </settings> 
    </system.net> 
</configuration>

ただし、WinForms アプリを作成しているため、これは機能しません。この問題を解決するための代替手段は何ですか?

4

2 に答える 2

27

まず、app.config ファイルの追加は、他のファイルを追加するのと同じくらい簡単です。方法: アプリケーション構成ファイルを C# プロジェクトに追加します。

次に、上記のコード スニペットをその新しい app.config に追加するだけです。

コードを介してそのプロパティを設定し、app.config の必要性を回避する別の方法は、ここまたはここに示されています。

于 2013-05-26T14:49:09.850 に答える