[英]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.