ASP.NET получить веб-ответ, когда HTTP-статус НЕ 200 ОК - PullRequest
15 голосов
/ 03 июня 2011

Мне нужно прочитать ответ от HTTP GET в ситуациях, когда код состояния ответа не соответствует 200 OK. Иногда это 401, а другие 403, однако там будет содержание ответа. Если я пытаюсь использовать классы HttpWebResponse и HttpWebRequest, возникает исключение, когда состояние ответа не равно 200 OK. Есть предложения?

1 Ответ

37 голосов
/ 03 июня 2011
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());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...