[.net] .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

トラックバック(0)

このブログ記事を参照しているブログ一覧: .NETのHttpWebRequest.GetResponseでステータスコードが4xxの場合にエンティティボディを取得する

このブログ記事に対するトラックバックURL: http://www.pistolfly.jp/mt/mt-tb-alt.cgi/1096

コメントする