HttpWebRequest接受500内部服务器错误

这是我的代码:

HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest; WebResponse wr = req.GetResponse(); 

当服务器返回500内部服务器错误时,req.GetResponse()中会抛出exception。 我希望GetResponse()接受此响应代码,传递的url抛出此响应代码是正常的。 尽管响应代码500内部服务器错误,我想解析Html。 是否可以说GetResponse()方法不validation响应代码?

 try { HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest; WebResponse wr = req.GetResponse(); } catch (WebException wex) { var pageContent = new StreamReader(wex.Response.GetResponseStream()) .ReadToEnd(); } 

我解决了这段代码:

 class Program { static void Main(string[] args) { var soap = @"2"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(@"http://localhost:51148/Service1.svc"); req.Headers.Add($"SOAPAction", "http://tempuri.org/IService1/GetData"); req.ContentType = "text/xml;charset=\"utf-8\""; byte[] data = System.Text.Encoding.UTF8.GetBytes(soap); req.ContentLength = data.Length; req.Accept = "text/xml"; req.Method = "POST"; Stream stm = req.GetRequestStream(); stm.Write(data, 0, data.Length); try { WebResponse response = req.GetResponse(); Stream responseStream = response.GetResponseStream(); } catch (WebException webex) { WebResponse errResp = webex.Response; using (Stream respStream = errResp.GetResponseStream()) { StreamReader reader = new StreamReader(respStream); string text = reader.ReadToEnd(); } } } }