C# - 从 403 错误获取响应正文

标签 c# http httpwebrequest

我在从 URL 请求数据时收到 403 错误。这是预料之中的,我不是在问如何更正它。
将此 URL 直接粘贴到我的浏览器中时,我会得到一个基本信息字符串,描述权限被拒绝的原因。
我需要通过我的 C# 代码读取此基本错误消息,但是当发出请求时,会抛出 System.Net.WebException(“远程服务器返回错误:(403)禁止访问。”)错误,并且响应正文我不可用。

是否可以简单地抓取页面内容而不抛出异常? 相关代码几乎是您所期望的,但无论如何它就在这里。

   HttpWebRequest  request  = (HttpWebRequest)WebRequest.Create(sPageURL);

   try
   {
        //The exception is throw at the line below.
        HttpWebResponse response = (HttpWebResponse)(request.GetResponse());

        //Snipped processing of the response.
   }
   catch(Exception ex)
   {
        //Snipped logging.
   }

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

您正在寻找 WebException.Response 属性:

catch(WebException ex)
{
     var response = (HttpWebResponse)ex.Response;
}

关于C# - 从 403 错误获取响应正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5409138/

相关文章:

c# - 强制 C# 编译器创建未使用的对象实例

c# - StreamReader 读取行范围

用于多部分数据的 Java http post

c# - HttpWebRequest.GetResponse : "The underlying connection was closed: An unexpected error occurred on a receive."

c# - 处理发送到 REST Web 服务的 JSON 字符串中的 & 字符的正确方法

c# - Entity Framework 插入空记录

c++ - MFC框架中如何使用XML over HTTP实现双向通信

c - 在C中通过http将图像发送到浏览器

java - 在 URL 中使用带有非法字符的 HttpGet

c# - MethodInfo.Invoke() 抑制异常