2015-08-30 7 views
2

Я пытаюсь найти метатеги со старого сайта http://www.printprint.ca по адресу 108.170.59.213 (у меня есть это в файле моих хостов), но, похоже, ничего не получается DocumentNode. Старый сайт кажется 302 перенаправлен на ту же страницу, и он разбивает все сканеры, такие как Xenu, ScreamingFrog, BeamUsUp ... После inital 302 на ту же страницу он отвечает 200, но я не знаю, как сделать HtmlAgilityPack забрать на том. Я попытался, добавив это:Html Agility Pack против 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(); 
}