WebClient - 远程服务器返回错误:(403)禁止

时间:2010-05-08 13:33:55

标签: c# webclient

从浏览器打开公共页面工作正常。

使用WebClient下载同一页面 - (403)禁止。

这里发生了什么?

以下是网页上特定网页的快速复制/粘贴示例(在控制台应用上使用):

try
{
    WebClient webClient = new WebClient();
    string content = webClient.DownloadString("http://he.wikisource.org/wiki/%D7%A9%D7%95%D7%9C%D7%97%D7%9F_%D7%A2%D7%A8%D7%95%D7%9A_%D7%90%D7%95%D7%A8%D7%97_%D7%97%D7%99%D7%99%D7%9D_%D7%90_%D7%90");
}
catch (Exception ex)
{
    throw;
}

2 个答案:

答案 0 :(得分:43)

我刚刚尝试使用Fiddler运行以查看响应,并返回以下通知和状态代码。

  

脚本应该使用信息   带联系人的User-Agent字符串   信息,或者他们可能被IP阻止   没有通知。

这很有效。

    WebClient webClient = new WebClient();
    webClient.Headers.Add("user-agent", "Only a test!");

    string content = webClient.DownloadString("http://he.wikisource.org/wiki/%D7%A9%D7%95%D7%9C%D7%97%D7%9F_%D7%A2%D7%A8%D7%95%D7%9A_%D7%90%D7%95%D7%A8%D7%97_%D7%97%D7%99%D7%99%D7%9D_%D7%90_%D7%90");

答案 1 :(得分:1)

检查您尝试访问的服务器是否设置为使用改进的TLS协议。 确保将其添加到Global.asax.cs

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;