Я использую HttpWebRequest
для выполнения некоторых вызовов на сервер. Иногда эти вызовы создают исключения, которые обрабатываются в блоке try-catch
. Но ответ исключения всегда нулевой, и я не могу получить код состояния исключения.
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl);
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
}
}
catch (WebException e)
{
//e.Response is always null!
}
Можно ли как-то получить ответ WebException
? Например, если я отправлю неправильный URL-адрес, WebException
вернет сообщение "Основное соединение было закрыто: соединение было неожиданно закрыто.". В Fiddler я получил бы 504 Status Code
плюс текстовое сообщение. Я говорю, если Fiddler может получить результат кода состояния из неправильного WebRequest, то почему C# не может? Я знаю, что должен быть способ, но что это за путь?
Кто-нибудь знает, как получить код состояния? или ответ WebException
?