2015-08-30 96 views
2

我想从旧的http://www.printprint.ca网站在108.170.59.213(我有这在我的主机文件中)的元标记,但似乎无法得到任何东西DocumentNode。 旧网站似乎302重定向到同一页面,并打破所有爬虫像Xenu,ScreamingFrog,BeamUsUp ... 在inital 302到同一页后,它与200响应,但我不知道如何使HtmlAgilityPack拿起在那。 我试过增加这个:Html敏捷包与302重定向到相同的页面

web.PreRequest = OnPreRequest; 

private static bool OnPreRequest(HttpWebRequest request) 
    { 
     request.AllowAutoRedirect = true; 
     return true; 
    } 

回答

0

我知道这个老。但既然没有答案,我可能会输入我的解决方案。

public static void Main(string[] args) 
{ 
    HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
    try 
    { 
     HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.printprint.ca "); 
     request.Method = "GET"; 
     request.ContentType = "text/html;charset=utf-8"; 

     using (var response = (HttpWebResponse)request.GetResponse()) 
     { 

      using (var stream = response.GetResponseStream()) 
      { 
       doc.Load(stream, Encoding.GetEncoding("utf-8")); 
      } 
     } 
    } 
    catch (WebException ex) 
    { 
     Console.WriteLine(ex.Message); 
    } 
    HtmlNodeCollection metas = doc.DocumentNode.SelectNodes(".//meta"); 
    foreach(HtmlNode meta in metas) 
    { 
     Console.WriteLine(meta.OuterHtml); 
     Console.WriteLine(); 
    } 
    Console.ReadKey(); 
}