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)服务器不可用。
有时我会收到此错误。我们怎样解决这个问题?
答案 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");