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

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

try
{
    using (HttpWebResponse response = (HttpWebResponse)myHttpWebRequest.GetResponse()) {
        // ...
    }
}
catch (WebException e)
{
    using (HttpWebResponse response = (HttpWebResponse)e.Response) {
        // ...
    }
}

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

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

コメントを残す

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

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