[英]What's wrong with my HttpWebRequest
我不知道我的代码中缺少什么。
如果我拨打404网址,我的代码会获得例外。
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;
}
HttpWebRequest
在非成功的响应状态上抛出异常。
此行为是设计使然。
您可以通过捕获WebException
并检查其Response
属性来获取Response
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.