2008年4月16日水曜日

【ASP.NET】携帯かPCからのアクセスかを判別する

ユーザーエージェントを参照して判断できる。

簡単に書くとこんな感じ

Imports System.Text.RegularExpressions

''' <summary>
''' 携帯電話でアクセスしているかどうか
''' </summary>
''' <returns>携帯電話:<c>True</c>。それ以外:<c>False</c></returns>
''' <remarks>
''' http://www.futomi.com/lecture/env_var/http_user_agent.html
''' http://noongoro.main.jp/note/note0035.html
''' </remarks>
Public Function isMobile() As Boolean
    Dim sAgent As String = HttpContext.Current.Request.ServerVariables("HTTP_USER_AGENT")
    'Dim sRemoteHost As String = HttpContext.Current.Request.ServerVariables("REMOTE_HOST")
    Dim bReturn As Boolean = False
    'HttpContext.Current.Response.Write(sAgent)
    'Docomo
    If Regex.IsMatch(sAgent, "DoCoMo") Then
        bReturn = True
    End If
    'AU
    If Regex.IsMatch(sAgent, "UP\.Browser") Then
        bReturn = True
    End If
    'SoftBank
    If Regex.IsMatch(sAgent, "J-PHONE|Vodafone|SoftBank|MOT") Then
        bReturn = True
    End If
    'エミュレータ
    If Regex.IsMatch(sAgent, "J-EMULATOR") Then
        bReturn = True
    End If

    Return bReturn
End Function

参考になるサイトはこことかこことかここ

コメントを投稿
Related Posts Plugin for WordPress, Blogger...

Blog Archives