htmlagilitypack c#error 403禁止

时间:2013-04-14 06:14:14

标签: c# html-agility-pack

我使用htmlagilitypack从here获取信息。这是代码

int i=2449520;

.....................

web.OverrideEncoding = Encoding.UTF8;
web.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0";
doc = web.Load("http://ru-patent.info/24/49/" + i + ".html");
var List = doc.DocumentNode.SelectNodes("//div[@style='padding:10px; border:#999 dotted 1px; background-color:#FFF; background-image:url(/imgs/back.gif);']");
foreach (var t in List)
{
    Regex regex = new Regex(@"\sRU\s\d+");
    Match match = regex.Match(t.InnerText);
    sw.WriteLine(i.ToString());
    while (match.Success)
    {
       sw.WriteLine(match.ToString());
       match = match.NextMatch();
    }
    sw.WriteLine('\n');
}
i++;

我还使用间隔为10秒的计时器,我需要从中获取信息的页数超过数千页。但在大约30页后,我得到403禁止错误。我怎么能绕过这个?

1 个答案:

答案 0 :(得分:1)

Response 403表示服务器拒绝接受您的请求。我想这可以是DDoS的服务器保护。您可以使用不同的服务器(具有不同的API地址)或尝试在请求之间中断。同样,向网站所有者询问解析其信息的最佳方式总是好的。