最初できないかと思ったけど、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でステータスコードが4xxの場合にエンティティボディを取得する」への1件のフィードバック