.NETのHttpWebRequest.GetResponseでステータスコードが4xxの場合にエンティティボディを取得する

最初できないかと思ったけど、WebExceptionのResponseプロパティで取得できた。
HttpWebRequest.GetResponse()は、ステータスコードが2xx以外の場合は例外WebExceptionを投げるようである。例外をcatchしてResponseを見ればよい。

HttpWebResponse response = null;
try
{
    response = (HttpWebResponse)myHttpWebRequest.GetResponse();
}
catch (WebException e)
{
    response = (HttpWebResponse)e.Response;
}
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream();
// ...以下略

.Net HttpWebRequest.GetResponse() raises exception when http status code 400 (bad request) is returned - Stack Overflow

「.NETのHttpWebRequest.GetResponseでステータスコードが4xxの場合にエンティティボディを取得する」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください