ASP.NET Get Web Response, когда HTTP-статус НЕ 200 OK
Мне нужно прочитать ответ HTTP GET в ситуациях, когда код состояния ответа не 200 OK. Иногда это 401, другие 403, однако будет содержание ответа. Если я пытаюсь использовать классы HttpWebResponse и HttpWebRequest, он выдает исключение, если статус ответа не 200 OK. Любые предложения?
Ответы
Ответ 1
var request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com/1");
try
{
using (WebResponse response = request.GetResponse())
{
// Success
}
}
catch (WebException e)
{
using (WebResponse response = e.Response)
{
HttpWebResponse httpResponse = (HttpWebResponse)response;
Console.WriteLine("Error code: {0}", httpResponse.StatusCode);
using (var streamReader = new StreamReader(response.GetResponseStream()))
Console.WriteLine(streamReader.ReadToEnd());
}
}