public static ICrawler Crawler(this HttpRequest request)
        {
            var service  = new UserAgentService(request.HttpContext);
            var resolver = new CrawlerResolver(service);

            return(resolver.Crawler);
        }
Пример #2
0
        public void CrawlerAgentEmpty()
        {
            var service  = CreateService("");
            var resolver = new CrawlerResolver(service);

            Assert.Null(resolver.Crawler);
        }
Пример #3
0
        public void Keyword(string agent)
        {
            // arrange
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            // assert
            Assert.NotNull(resolver.Crawler);
        }
Пример #4
0
        public void LinkedInBot_Bot()
        {
            var agent   = "LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            Assert.Equal("LinkedInBot", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.LinkedIn, resolver.Crawler.Type);
        }
Пример #5
0
        public void Twitterbot_Bot()
        {
            var agent   = "Twitterbot/1.0";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            Assert.Equal("Twitterbot", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Twitter, resolver.Crawler.Type);
        }
Пример #6
0
        public void Facebookbot_Bot()
        {
            var agent   = "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            Assert.Equal("facebookexternalhit", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Facebook, resolver.Crawler.Type);
        }
Пример #7
0
        public void Facebot_Bot()
        {
            var agent   = "Facebot";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            Assert.Equal("Facebot", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Facebook, resolver.Crawler.Type);
        }
Пример #8
0
        public void Skype_Messenger()
        {
            var agent   = "Mozilla/5.0 (Windows NT 6.1; WOW64) SkypeUriPreview Preview/0.5";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            Assert.Equal("SkypeUriPreview", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Skype, resolver.Crawler.Type);
        }
Пример #9
0
        public void Baidu_Bot()
        {
            // arrange
            var agent   = "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            // assert
            Assert.Equal("Baiduspider", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Baidu, resolver.Crawler.Type);
        }
Пример #10
0
        public void Yahoo_Bot()
        {
            // arrange
            var agent   = "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            // assert
            Assert.Equal("Yahoo!Slurp", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Yahoo, resolver.Crawler.Type);
        }
Пример #11
0
        public void Bing_Bot()
        {
            // arrange
            var agent   = "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            // assert
            Assert.Equal("bingbot", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Bing, resolver.Crawler.Type);
        }
Пример #12
0
        public void Google_Bot()
        {
            // arrange
            var agent   = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
            var service = CreateService(agent);
            // act
            var resolver = new CrawlerResolver(service);

            // assert
            Assert.Equal("Googlebot", resolver.Crawler.Name);
            Assert.Equal(CrawlerType.Google, resolver.Crawler.Type);
        }