[英]c# HttpWebResponse response null instead of 504
該捕獲應該給我一個504,但由於某種原因,我在以下方面得到了空值:
response = (HttpWebResponse)e.Response;
下面是我的代碼:
var url = "http://www.go435345ogle.com";
HttpWebResponse response = null;
HttpStatusCode statusCode;
get http response
get status
try
{
// Creates an HttpWebRequest for the specified URL.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
//HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(keys.Value.Substring(0, keys.Key.Length - 1));
// Sends the HttpWebRequest and waits for a response.
response = (HttpWebResponse)myHttpWebRequest.GetResponse();
}
catch (WebException e)
{
Console.WriteLine("\r\nWebException Raised. The following error occured : {0}", e.Status);
response = (HttpWebResponse)e.Response;
}
statusCode = response.StatusCode;
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
var sResponse = reader.ReadToEnd();
// Console.WriteLine(sResponse);
Console.WriteLine("Response Code: " + (int)statusCode + " - " + statusCode.ToString());
}
這是預期的行為。 由於www.go435345ogle.com
域不存在,因此沒有服務器可以將請求發送到該服務器,因此也沒有響應可以接收。 因此, WebException.Response
僅返回null。 微軟的文檔明確指出, WebException.Response
返回:
如果可以從Internet資源獲得響應,則為WebResponse實例,其中包含來自Internet資源的錯誤響應。 否則為null 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.