【发布时间】:2011-12-29 01:15:44
【问题描述】:
我不知道我的代码中缺少什么。
如果我调用 404 url,我的代码会出现异常。
HttpWebRequest req = WebRequest.Create(args.Url) as HttpWebRequest;
req.AllowAutoRedirect = true;
req.Timeout = args.TimeOut;
req.UserAgent = args.UserAgent;
HttpWebResponse answer = req.GetResponse() as HttpWebResponse;
objResult.Status =answer.StatusCode;
Stream stream = answer.GetResponseStream();
我在 req.GetResponse() 上遇到异常
有错误我回来了
远程服务器返回错误:(404) Not Found.
我不认为收到 HttpStatusCode.NotFound ?
解决办法:
try
{
HttpWebRequest req = WebRequest.Create(args.Url) as HttpWebRequest;
req.AllowAutoRedirect = true;
req.Timeout = args.TimeOut;
req.UserAgent = args.UserAgent;
HttpWebResponse answer = req.GetResponse() as HttpWebResponse;
objResult.Status =answer.StatusCode;
}
catch (WebException ex)
{
HttpWebResponse response = ex.Response as HttpWebResponse;
objResult.Status = response.StatusCode;
}
【问题讨论】:
-
可能[这个答案][1] 这里也回答了你的问题。 [1]:stackoverflow.com/questions/1949610/c-how-can-i-catch-a-404
-
@McKay,你可以试试google.com/NotExists 你会看到异常
标签: c# asp.net httpwebrequest httpwebresponse