ASP.NET - Как создать файл определения браузера, который обнаруживает ТОЛЬКО робот Google? - PullRequest
0 голосов
/ 23 августа 2010

Я пытался найти файл Oceans BrowserCap для вдохновения, но для меня это просто чересчур.

Мне в основном нужен эквивалент этого в файле .browser

<browserCaps>
    <filter>
        <!-- Google Crawler -->
        <case match="Googlebot">
            browser=Googlebot
            crawler=true
        </case>
    </filter>
</browserCaps>

, но я просто не могу понять это.Любая помощь будет отличной

1 Ответ

0 голосов
/ 23 августа 2010

Понял ... вот это для следующего парня, которому это нужно.

<browsers>
    <browser id="Googlebot" parentID="Mozilla">
        <identification>
            <userAgent match="Googlebot" />
        </identification>
        <capabilities>
            <capability name="crawler" value="true" />
        </capabilities>
    </browser>
</browsers>

А вот мой MVC ActionFilterAttribute, который я использую для обнаружения Goog ..

Imports System.Web.Mvc
Imports System.Net
Imports System.Web

Namespace Filters
    <AttributeUsage(AttributeTargets.Method, AllowMultiple:=False)> _
    Public Class SearchBotFilter : Inherits ActionFilterAttribute

        Public Overrides Sub OnActionExecuting(ByVal c As ActionExecutingContext)
            If Not HttpContext.Current.Request.Browser.Crawler Then
                HttpContext.Current.Response.StatusCode = CInt(HttpStatusCode.NotFound)
                c.Result = New ViewResult() With {.ViewName = "NotFound"}
            End If
        End Sub
    End Class
End Namespace
End Class
...