C# 如何在Asp.net MVC中检测爬虫

C# 如何在Asp.net MVC中检测爬虫,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我正在使用一个动作过滤器来检查我的网站上正在使用的浏览器版本,如果是较旧的浏览器,我会在顶部放置一个div,要求他们升级。我不想让网络爬虫获得div消息,所以我已经实现了HttpBrowserCapabilitiesBase.Crawler,它看起来适合谷歌,但Bing和其他人似乎没有注册为爬虫。奇怪的是,微软产品没有注意到Bing是一个爬虫 是否有某种方法可以将用户代理添加到爬虫属性或其他内容 谢谢 编辑:我正在使用asp.net mvc 3,看起来我需要使用.Browser文件(?)。有人知

我正在使用一个动作过滤器来检查我的网站上正在使用的浏览器版本,如果是较旧的浏览器,我会在顶部放置一个div,要求他们升级。我不想让网络爬虫获得div消息,所以我已经实现了HttpBrowserCapabilitiesBase.Crawler,它看起来适合谷歌,但Bing和其他人似乎没有注册为爬虫。奇怪的是,微软产品没有注意到Bing是一个爬虫

是否有某种方法可以将用户代理添加到爬虫属性或其他内容

谢谢


编辑:我正在使用asp.net mvc 3,看起来我需要使用.Browser文件(?)。有人知道Bing和其他爬虫程序的一整套.Browser文件吗?

您可能需要更新您的browscap.ini文件,因为IIS附带的文件可能很旧。您可以通过以下URL之一获取新URL:


browscap.ini通常位于:c:\windows\system32\inetsrv\browscap.ini

我们不使用MVC,但我们这样做:

Regex.IsMatch(Request.UserAgent, @"bot|crawler|baiduspider|80legs|ia_archiver|voyager|curl|wget|yahoo! slurp|mediapartners-google", RegexOptions.IgnoreCase);
我的答案中有更多选项:


相关:这似乎对我不起作用,可能是因为我使用的是asp.net mvc?进一步的研究告诉我要使用.Browser文件。这两种文件都可以正常工作。我们正在使用ASP.NETMVC,它对我们很有效。你确定爬虫程序在browscap文件中吗?我从你提供的garykeith链接添加了browscap.ini,然后我进入framework/v4/config/browsers目录,编辑gateway.browser并在爬虫网关的msnbot旁边添加bingbot,用framework/v4/aspnet\u regbrowsers.exe-I和。。。它开始工作了。