【问题标题】:Best way to detect major search engines in C# MVC在 C# MVC 中检测主要搜索引擎的最佳方法
【发布时间】:2012-01-10 21:04:12
【问题描述】:

我发现了以下问题,但如果可能的话,我不想进行会影响服务器上所有站点的更改。 HttpBrowserCapabilities.Crawler property .NET

我还找到了有关使用 browserCaps 元素 http://msdn.microsoft.com/en-us/library/sk9az15a.aspx 的说明,但它似乎已被弃用。

在 Asp.net 4.0 中检测主要搜索引擎的最简单方法是什么?

(我只对能够检测主要搜索引擎真正感兴趣)

【问题讨论】:

  • 你要爬虫还是referrer?
  • @DanielA.White 我有一个带有年龄验证屏幕的网站,合法地必须向用户展示,但如果我没有正确检测到搜索引擎,这将被编入索引,所以我需要能够检测搜索引擎
  • 不是 MVC,而是您的一个选项:stackoverflow.com/questions/544450/…

标签: c# asp.net asp.net-mvc asp.net-4.0


【解决方案1】:

就像在普通的 ASP.Net 站点中一样。

        if( Request.Browser.Crawler )
        {

        }

您可以添加一个 httpmodule 来对所有请求进行检测。

【讨论】:

  • 是的,我确实尝试过,但未检测到谷歌,我在问题中包含的链接建议更新浏览器列表,但该解决方案似乎已被弃用,因为它在 3 年前被问到
【解决方案2】:

结帐Browser Caps here

或者

获取HttpRequest.UserAgent 并对照list of know user agents 进行检查。

【讨论】:

  • 他似乎不想隐藏搜索引擎的内容;他想明确地向他们显示内容,而普通用户实际上无法在验证他们的年龄之前看到该内容。因此,robots.txt 不会有帮助。该搜索引擎 IP 列表也不会;你永远不应该尝试使用如此脆弱的东西,IMO。
  • @AndrewBarber:你说得对,我误读了他的评论(好吧,我解释错了)。答案已调整。
猜你喜欢
  • 2020-07-11
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 2011-04-12
  • 2011-06-06
相关资源
最近更新 更多