微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

System.Net.WebClient请求获取403 Forbidden,但浏览器不与Apache服务器

奇怪的是,我试图阅读很多不同网站的<Head>部分,并且一个特定types的服务器Apache有时会给代码403禁止。 并不是所有的Apache服务器都这样做,所以它可能是一个configuration设置或特定版本的服务器。

当我然后用networking浏览器(例如Firefox)检查url时,页面加载正常。 代码sorta看起来像这样:

var client = new WebClient(); var stream = client.OpenRead(new Uri("http://en.wikipedia.org/wiki/Barack_Obama"));

通常情况下,403是一个访问权限失败的事情,但这些通常是不安全的页面。 我在想,Apache正在过滤请求标头中的某些内容,因为我不打算创build任何内容

也许对Apache有更多了解的人可以给我一些关于头文件中缺less的东西的想法。 我想保持尽可能小的标题,以最大限度地减less带宽。

Windows上的video覆盖(使用C#?)

.NET:如何使用临时文件名传递命令行参数

Windows / C#通过操作系统(而不是IP地址)检测用户的半球?

如何在Windows窗体上显示必填字段

检测进程已经在使用C#.net的窗口中运行

谢谢

如何防止或检测“%APPNAME%停止工作”对话框?

为什么在WinForms(.NET)中隐藏一个拥有的窗口切换应用程序?

阅读,添加删除.NET中的Windows用户

replace和创buildWindows快捷方式

如何在.NET中更改XBox控制器的分配?

尝试设置UserAgent标头:

string _UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"; client.Headers.Add(HttpRequestHeader.UserAgent,_UserAgent);

我有一个类似的问题,下面的设置解决了它

Client.Headers["Accept"] = "application/x-ms-application,image/jpeg,application/xaml+xml,image/gif,image/pjpeg,application/x-ms-xbap,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/*"; Client.Headers["User-Agent"] ="Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC)";

这可能是UserAgent标题的问题,正如“thedugas”所说的,或者实际上是浏览器认配置的任何事情。 例如,这可能是不使用浏览器正在使用的代理服务器,或者不使用代理服务器的正确凭据。 这些东西可能已经配置到浏览器,所以你不知道他们需要完成。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐