C#httpwebresponse响应null而不是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("rnWebException 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。Microsoft的文档明确指出,WebException.Response返回:

如果从Internet资源中获得响应,则是Webresponse 包含Internet资源的错误响应的实例; 否则,null

最新更新