最初できないかと思ったけど、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件のフィードバック