Пример #1
0
        static void Main(string[] args)
        {
            string baseUri = "http://war.ssau.ru/";

            links[] arrLinks = new links[1];
            arrLinks[0] = new links(baseUri, baseUri, false);
            Types[] types = new Types[1];
            types[0] = new Types("text/css", 0);
            machiene(baseUri, ref arrLinks, ref types); //основной цикл отвечающий за рекурсивный перебор
            foreach (links linkFrArr in arrLinks)
            {
                GETstringHead(linkFrArr.link, linkFrArr.bUri, ref types);
            }
            Console.WriteLine("=====================================");
            foreach (Types linkFrArr in types)
            {
                Console.WriteLine(linkFrArr.type + " - " + linkFrArr.size);
            }
            //foreach (links linkFrArr in arrLinks) Console.WriteLine(linkFrArr.link);
            Console.WriteLine("=====================================");
            Console.WriteLine("Total links: " + arrLinks.Length);
            Console.ReadLine();
        }
Пример #2
0
 private static void machiene(string baseUri, ref links[] arrLinks, ref Types[] types)
 {
     for (int i = 0; i < arrLinks.Length; i++)
     {
         links linkFrArr = arrLinks[i];
         if (!linkFrArr.visited)
         {
             linkFrArr.visited = true;
             string          pattern = @"(.php|.html|.htm|/(|[a-zA-Z0-9\-_]*))(\?[a-zA-Z0-9\-_\=\&]*|\#[a-zA-Z0-9\-_]*|)$";
             Regex           newReg  = new Regex(pattern);
             MatchCollection matches = newReg.Matches(linkFrArr.link);
             if (matches.Count > 0)
             {
                 DumpHRefs(GETstring(linkFrArr.link), baseUri, linkFrArr.link, ref arrLinks);
             }
             else
             {
                 //добавляем размер в Types
                 //GETstringHead(linkFrArr.link, ref types);
             }
         }
     }
 }