簡體   English   中英

我的HttpWebRequest有什么問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM