WebClient出错:“远程服务器返回错误:(503)服务器不可用”

时间:2014-01-28 09:36:00

标签: c# web-services webclient

using (var wc = new WebClient())
{
    Uri urls = new Uri(url);
    wc.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36";
    dokuman.Load(wc.OpenRead(urls), Encoding.UTF8);
}

dokuman.Load(wc.OpenRead(urls), Encoding.UTF8);
  

远程服务器返回错误:(503)服务器不可用。

有时我会收到此错误。我们怎样解决这个问题?

1 个答案:

答案 0 :(得分:2)

我使用它支持代理的实用程序功能

 public static string GetPageHtml(string link, System.Net.WebProxy proxy = null)
        {
            System.Net.WebClient client = new System.Net.WebClient() { Encoding = Encoding.UTF8 };
            client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
            if (proxy != null)
            {
                client.Proxy = proxy;
            }

            using (client)
            {
                try
                {
                    return client.DownloadString(link);
                }
                catch (Exception ex)
                {
                    return null;
                }
            }

        }

尝试一下,如果它不起作用,那么你可能被谷歌阻止,因为你快速提出请求,为了避免被阻止你应该使用网络代理或在你的请求之间合理暂停。

实施例

var Html = GetPageHtml("https://www.google.com.tr/search?sclient=psy-ab&site=&source=hp&q=cars+&btnG=Ara");