0
我试图从远程服务器读取HTTP响应代码,但是当它引发内部服务器错误时遇到了一些麻烦。在以下代码中,当远程机器返回错误时,GetResponse()可能会引发WebException。我目前正在捕获错误,并假设它是一个HttpStatusCode.InternalServerError,但这通常是不正确的。当远程服务器抛出内部错误时读取HttpStatusCode
var req = (HttpWebRequest)WebRequest.Create(uri);
HttpStatusCode responseCode;
try
{
using (var resp = (HttpWebResponse)req.GetResponse())
{
responseCode = resp.StatusCode;
}
}
catch (WebException)
{
responseCode = HttpStatusCode.InternalServerError;
}
所以问题是这样的:无论远程服务器发生什么错误,我怎样才能抓取远程响应代码?我需要知道它是哪种错误类型;有没有什么办法可以从HttpWebResponse中获取这个信息,而不会试图绕过它?谢谢!
完美,但是你花了那么久?! :)我以前走过这条路,但忽略了将异常强制转换为HttpWebResponse。 – 2010-09-22 08:28:38