2010年12月14日火曜日

[C#] WebRequestクラスの利用時のプロトコル違反への対応策

WebRequestクラスを利用してウェブサーバにアクセスした場合、
  • サーバーによってプロトコル違反が発生しました. Section=ResponseHeader Detail=CR の後には LF を指定しなければなりません。
という意味不明なエラーが発生します。このようなときは、アクセスする前に以下のような記述をしてください。
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
SettingsSection section = (SettingsSection)config.GetSection("system.net/settings");
section.HttpWebRequest.UseUnsafeHeaderParsing = true;
config.Save();
なお、ここで記述しているクラスは、
  • System.Configuration
  • System.Net.Configuration
のライブラリを利用します。参照設定で追加しておきましょう。


0 件のコメント:

コメントを投稿