c# - 当 HTTP 状态不是 200 OK 时,ASP.NET 获取 Web 响应

标签 c# .net asp.net http httpwebrequest

在响应状态代码不是 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/

相关文章:

c# - 如何制作 if 语句来检查多个列表框是否为空?

C#/.Net 使用 ThreadLocal 和 Async/Await

c# - 在这种情况下,垃圾收集器会做什么?

c# - 虚拟导航属性和 Multi-Tenancy

c# - 将属性添加到现有的 XMLNodes

c# - MVC 路由参数为空

c# - 无法在 Azure DevOps 2019 中通过代码创建代理池(无权限)

c# - 检索泛型方法正确重载的 MethodInfo

c# - 关于静态变量如何在 ASP.NET 中工作的简单问题?

c# - 如何在我们的网页中添加区域语言?