Question

J'ai appris pourquoi Request.Browser.Crawler était toujours faux en C # ( http://www.digcode.com/default.aspx?page=ed51cde3-d979-4daf-afae-fa6192562ea9&article=bc3f4 -c9337f6c05a0 ).

Quelqu'un utilise-t-il une méthode pour mettre à jour de manière dynamique la liste du robot d'exploration, alors Request.Browser.Crawler sera vraiment utile?

Était-ce utile?

La solution

Je suis heureux des résultats fournis par les les captures d'écran de l'océan . Il prend en charge les robots d'exploration non détectés par les fichiers de configuration de Microsoft. Il va même analyser quelle version du robot est sur votre site, pas que j'ai vraiment besoin de ce niveau de détail.

Autres conseils

Vous pouvez comparer (regex) à Request.UserAgent .

Peter Bromberg a écrit un bel article sur la rédaction d'un Killer enregistreur de requêtes et robot d'indexation ASP.NET dans ASP.NET.

Voici la méthode qu'il utilise dans sa classe Logger :

public static bool IsCrawler(HttpRequest request)
{
   // set next line to "bool isCrawler = false; to use this to deny certain bots
   bool isCrawler = request.Browser.Crawler;
   // Microsoft doesn't properly detect several crawlers
   if (!isCrawler)
   {
       // put any additional known crawlers in the Regex below
       // you can also use this list to deny certain bots instead, if desired:
       // just set bool isCrawler = false; for first line in method 
       // and only have the ones you want to deny in the following Regex list
       Regex regEx = new Regex("Slurp|slurp|ask|Ask|Teoma|teoma");
       isCrawler = regEx.Match(request.UserAgent).Success;
   }
   return isCrawler;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top