WebClient不能在一个网站上运行

时间:2015-01-05 13:47:28

标签: c# winforms http webclient

我正在尝试将网站的html代码(yellowpages)下载到我的C#winforms应用程序中的字符串中。

我不断从一个网站得到同样的错误。 所有其他网站都有效,我尝试过通用的网站,例如:http://www.google.co.za,但是当我尝试使用http://www.yellowpages.co.za时,它会抛出:

  

System.dll中出现未处理的“System.Net.WebException”类型异常附加信息:远程服务器返回了   错误:(500)内部服务器错误。

我不知道为什么只有这一个网站会抛出此错误。

请在下面找到我的代码

private string getPage()
{
    using (WebClient client = new WebClient())
    {
        return client.DownloadString("http://www.yellowpages.co.za/");               
    }
}

1 个答案:

答案 0 :(得分:2)

添加user-agent标题会修复此问题。

private string getPage()
{
    using (WebClient client = new WebClient())
    {
            client.Headers.Add("user-agent", "foo");
            return client.DownloadString("http://www.yellowpages.co.za/");               
    }
}

也就是说,我会为user-agent设置一个有效值,而不是foo这样的占位符。有关用户代理的详细信息,请参阅rfc2616