这是我的代码:
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
WebResponse wr = req.GetResponse();当服务器返回500内部服务器错误时,在req.GetResponse()中抛出异常。我希望GetResponse()接受此响应码,传递的url抛出此响应码是正常的。我想解析Html,尽管响应代码500内部服务器错误。是否可以对GetResponse()方法说不验证响应码?
发布于 2013-08-23 21:20:31
try
{
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
WebResponse wr = req.GetResponse();
}
catch (WebException wex)
{
var pageContent = new StreamReader(wex.Response.GetResponseStream())
.ReadToEnd();
}发布于 2017-11-06 09:07:48
我用下面的代码解决了这个问题:
class Program
{
static void Main(string[] args)
{
var soap = @"<s:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:tem=""http://tempuri.org/""><s:Body><GetData xmlns = ""http://tempuri.org/""><value>2</value></GetData></s:Body></s:Envelope>";
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();
}
}
}
}https://stackoverflow.com/questions/18403846
复制相似问题