在响应状态代码不是 200 OK 的情况下,我需要从 HTTP GET 读取响应。有时候是401,有时候是403,不过会有一个Response的内容。如果我尝试使用 HttpWebResponse 和 HttpWebRequest 类,当响应状态不是 200 OK 时它会抛出异常。有什么建议吗?
最佳答案
var request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com/1");
try
{
using (WebResponse response = request.GetResponse())
{
// Success
}
}
catch (WebException e)
{
using (WebResponse response = e.Response)
{
HttpWebResponse httpResponse = (HttpWebResponse)response;
Console.WriteLine("Error code: {0}", httpResponse.StatusCode);
using (var streamReader = new StreamReader(response.GetResponseStream()))
Console.WriteLine(streamReader.ReadToEnd());
}
}
关于c# - 当 HTTP 状态不是 200 OK 时,ASP.NET 获取 Web 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6222360/