奇怪的是,我正在尝试阅读许多不同网站的
部分,而一种特定类型的服务器 Apache 有时会禁止使用 403 代码。并非所有 apache 服务器都这样做,因此它可能是配置设置或服务器的特定版本。然后,当我使用 Web 浏览器(例如 Firefox)检查 url 时,页面加载正常。代码大概是这样的:
var client = new WebClient();
var stream = client.OpenRead(new Uri("http://en.wikipedia.org/wiki/Barack_Obama"));
通常,403 是访问权限失败之类的事情,但这些通常是不安全的页面。我认为 Apache 正在过滤请求 header 中的某些内容,因为我不想创建任何内容。
也许对 Apache 有更多了解的人可以给我一些关于标题中缺少的内容的想法。我想保持标题尽可能小以最小化带宽。
谢谢
最佳答案
尝试设置 UserAgent header :
string _UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
client.Headers.Add(HttpRequestHeader.UserAgent, _UserAgent);
关于.net - System.Net.WebClient 请求得到 403 Forbidden 但浏览器没有使用 Apache 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2316111/