我正在使用 HTMLAgilityPack 从以下网站获取 HTML:http: //tennis.wettpoint.com/en/
它工作正常,但现在.. 一个小时后它不再工作了!
首先,我尝试更改我的代码 - 关于我如何检索 HTML:
string url = "http://tennis.wettpoint.com/en/";
HtmlWeb hw = new HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = hw.Load(url);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
//Code..
}
就像我说的那样,这一直很好......直到网站对我来说似乎“关闭”......所以我将代码更改为:
using (WebClient wc = new WebClient())
{
wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows; Windows NT 5.1; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4");
string html = wc.DownloadString("http://en.wikipedia.org/wiki/United_States");
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
}
(这不适用于我的网站,但适用于其他网站)
至少我现在有这个,它也有效,但不适用于我的网站:
HtmlAgilityPack.HtmlDocument doc = GetHTMLDocumentByURL(url);
public HtmlAgilityPack.HtmlDocument GetHTMLDocumentByURL(string url)
{
var htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionReadEncoding = false;
var request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = @"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5";
request.Method = "GET";
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
htmlDoc.Load(stream, Encoding.UTF8);
}
}
return htmlDoc;
}
起初我认为该站点已关闭,因为我也无法使用任何浏览器访问该站点..所以我问了朋友,他们能够访问该站点..这意味着我的IP已被阻止..无论如何。 。 我能做些什么?我需要更改我的IP(如何)或使用代理(如何)..我不知道,因为我没有提到会发生这种情况:(希望有人能帮助我..