检测UserAgent不是来自Mobile

时间:2013-08-08 10:07:35

标签: c# user-agent handhelddevice

条件 嗨,目前我有一个功能来检测客户端请求是否来自移动。 功能如下。

public bool IsHandheld()
        {
            bool status = false;

            string strUserAgent = Request.UserAgent.ToString().ToLower();
            if (strUserAgent != null)
            {
                if (Request.Browser.IsMobileDevice == true || strUserAgent.Contains("iphone") ||
                    strUserAgent.Contains("blackberry") || strUserAgent.Contains("mobile") ||
                    strUserAgent.Contains("windows ce") || strUserAgent.Contains("opera mini") ||
                    strUserAgent.Contains("palm"))
                {
                    status = true;
                }
            }
            return status;
        }

问题: 这还不足以检测手持设备 我得到了一个互联网上的字符串列表,以便比较它是否包含在Userstring

  new string[] { "blackberry" ,"iphone","mobile","windows ce","opera mini",
                    "palm","symbianos", "ipad", "symbianos", "ipod", "blackberry",
                    "sonyericsson", "android", "samsung", "nokia", "wap", "motor"
                });

如果设备继续增加,则此列表将很长

我想扭转这种状况。我想检测请求是来自PC还是笔记本电脑,而不是来自手持设备。 有没有办法这样做? 或者我的想法是错误的?

1 个答案:

答案 0 :(得分:2)

This is nice Blog i think this will help you.

建议使用request.Browser.IsMobileDevice