【发布时间】:2015-06-06 12:45:55
【问题描述】:
从 URL 请求数据时收到 403 错误。这是意料之中的,我不是在问如何纠正它。
将此 URL 直接粘贴到我的浏览器时,我会得到一个基本信息字符串,描述为什么拒绝权限。
我需要通过我的 C# 代码阅读此基本错误消息,但是当发出请求时,会引发 System.Net.WebException ("The remote server returned an error: (403) Forbidden.") 错误,并且响应正文我无法使用。
是否可以简单地抓取页面内容而不抛出异常? 相关代码几乎是您所期望的,但无论如何都在这里。
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.
}
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您应该将您的
response包装在using语句中。 -
我一直不明白
using的意思。它只在其范围内声明一个对象,对吗?我的方法和 try/catch 块无论如何都会这样做,不是吗? -
using确保对象将立即被释放,而不是等待 GC(它会生成一个finally块)。 -
@SLaks:注意。感谢您的提示。
标签: c# http httpwebrequest