c# - 检测 UserAgent 不是来自移动设备

标签 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 还是笔记本电脑,而不是来自手持设备。 有什么办法吗? 还是我的想法不对?

最佳答案

This is nice Blog i think this will help you.

推荐使用request.Browser.IsMobileDevice

关于c# - 检测 UserAgent 不是来自移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123237/

相关文章:

c# - 加入智能分离器

android - 有人知道三星 Galaxy S7 的 HTTP_USER_AGENT 吗?

javascript - navigator.userAgent.match 中的/i 是什么

c# - 如何在C#中以编程方式获取“Application Data”文件夹路径?

c# - ScreenCaptureJob 类的引用或程序集

c# - 使用自定义信封发件人 (VERP) 发送电子邮件

perl - 如何取消来自 Mojo::UserAgent 的正在进行的请求?

c# - 如何从 Windows CE 设备 (Compact Framework) 发送电子邮件?

.net - 为什么我的 RFID 阅读器读取到不存在的 RFID 标签代码?