我有一个简单的网络应用程序,托管,我已启用谷歌搜索,所以谷歌机器人抓取,我无法找到许多未知机器人爬行我的应用程序。我需要知道访问该网站的有效用户(机器人除外)。
我用过
httprequest.Browser.Crawler
但它无法正常运作。
任何人都可以帮我完全防止这种情况吗?
答案 0 :(得分:0)
您可以使用Request.UserAgent查看UserAgent og请求,然后将其与Crawler UserAgent strings
列表进行匹配我会正确使用过滤器,然后将其应用于您的filterconfig
public class CrawlerFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
var userAgent = context.HttpContext.Request.UserAgent;
//Do something with the userAgent and/or drop the request
}
}
问题在于并非所有爬虫都遵守此规则,因此您无法真正“超级”确定。
我刚刚得知Request.Browser.Crawler
基本上就是我上面提到的,虽然列表(来自Browser.Crawler)似乎没有得到很好的维护。