同样也是在破解版的HISHOP源码上扒出来的,代码如下:

protected void InitVisitorTerminal()
        {
            VisitorTerminal visitorTerminal = new VisitorTerminal();
            string userAgent = base.Request.UserAgent;
            if (string.IsNullOrWhiteSpace(userAgent))
            {
                userAgent = "";
            }
            userAgent = userAgent.ToLower();
            bool flag = userAgent.Contains("ipad");
            bool flag1 = userAgent.Contains("iphone os");
            bool flag2 = userAgent.Contains("midp");
            bool flag3 = userAgent.Contains("rv:1.2.3.4");
            flag3 = (flag3 ? flag3 : userAgent.Contains("ucweb"));
            bool flag4 = userAgent.Contains("android");
            bool flag5 = userAgent.Contains("windows ce");
            bool flag6 = userAgent.Contains("windows mobile");
            bool flag7 = userAgent.Contains("micromessenger");
            bool flag8 = userAgent.Contains("windows phone ");
            bool flag9 = userAgent.Contains("appwebview(ios)");
            visitorTerminal.Terminal = EnumVisitorTerminal.PC;
            if ((flag || flag1 || flag2 || flag3 || flag4 || flag5 || flag6 ? true : flag8))
            {
                visitorTerminal.Terminal = EnumVisitorTerminal.Moblie;
            }
            if ((flag ? true : flag1))
            {
                visitorTerminal.OperaSystem = EnumVisitorOperaSystem.IOS;
                visitorTerminal.Terminal = EnumVisitorTerminal.Moblie;
                if (flag)
                {
                    visitorTerminal.Terminal = EnumVisitorTerminal.PAD;
                }
                if (flag9)
                {
                    visitorTerminal.Terminal = EnumVisitorTerminal.IOS;
                }
            }
            if (flag4)
            {
                visitorTerminal.OperaSystem = EnumVisitorOperaSystem.Android;
                visitorTerminal.Terminal = EnumVisitorTerminal.Moblie;
            }
            if (flag7)
            {
                visitorTerminal.Terminal = EnumVisitorTerminal.WeiXin;
            }
           
if ((visitorTerminal.Terminal == EnumVisitorTerminal.Moblie ||
visitorTerminal.Terminal == EnumVisitorTerminal.PAD ||
visitorTerminal.Terminal == EnumVisitorTerminal.WeiXin ? true :
visitorTerminal.Terminal == EnumVisitorTerminal.IOS))
            {
                this.IsMobileTerminal = true;
            }
            this.visitorTerminalInfo = visitorTerminal;

}

有些类型是他自己里面定义好的枚举。。知道那个意思就行了。。

C#判断访问网站的设备类型的更多相关文章

  1. 【ASP.NET】判断访问网站的客户端是PC还是手机

    原文:[ASP.NET]判断访问网站的客户端是PC还是手机 主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariable ...

  2. 【ASP.NET 进阶】判断访问网站的客户端是PC还是手机

    主要就是通过客户端传递的User-agent来判断访问网站的客户端是PC还是手机,.NET中就是Request.ServerVariables["HTTP_USER_AGENT"] ...

  3. 通过JS语句判断WEB网站的访问端是电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! 目录腾讯网的适配代码如何判断访问网站的机器类型-如何判断ipadJS 判断浏览器客户端类型(ipad,iphone,android ...

  4. 判断访问浏览器客户端类型(pc,mac,ipad,iphone,android)

    <script type="text/javascript"> //平台.设备和操作系统 var system = { win: false, mac: false, ...

  5. js判断是手机还是电脑访问网站

    js判断是手机还是电脑访问网站                               <script type="text/javascript"> <!- ...

  6. JS判断web网站访问端是PC电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! <script type="text/javascript"> <!-- //平台.设备和操 ...

  7. JS判断访问设备、客户端操作系统类型

    先给出一个实例:判断windows.linux.android 复制以下代码另存为html文件即可. <html> <head> <title>判断操作系统< ...

  8. [转]JS判断访问设备、客户端操作系统类型

    本文转自:http://www.cnblogs.com/duanguyuan/p/3534470.html 先给出一个实例:判断windows.linux.android 复制以下代码另存为html文 ...

  9. Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

    http://www.cnblogs.com/zhongweiv/archive/2013/01/07/https.html 配置环境 了解HTTPS 配置CA证书服务器 新建示例网站并发布在IIS ...

随机推荐

  1. 〖Network〗宿舍配置两路由器,同时访问校园内网和校园外网

    环境: 校园宿舍, 10.x.x.x 和 172.16.x.x~172.31.x.x是校园内网,本科教务系统什么的都在上边 路由器: 路由器1(校园内网):水星MR807 路由器2(拨号上网):TP ...

  2. 十大经典排序算法-JS篇

    http://web.jobbole.com/87968/ 虽然是JS篇,但其他编程语言(例如java)实现起来是差不多的.

  3. Quartz.NET开源作业调度框架系列(一):快速入门step by step-转

    Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...

  4. Docker安装和常用命令

    Docker安装 Docker的安装可以参考 https://docs.docker.com/ 下面的 Get Docker / Docker CE / Linux, 需要关注的主要是CentOS和U ...

  5. 使用nmap查看web服务支持的http methods

    安装nmap yum install nmap 查看web server支持的http methods u02 ~]$ nmap -p --script http-methods www.somewh ...

  6. java爬虫入门--用jsoup爬取汽车之家的新闻

    概述 使用jsoup来进行网页数据爬取.jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuer ...

  7. samba服务的高级进阶配置

    本文将学习一下几个方面的内容,将会结合具体的实验来一步步实现. 1. 用户账号的映射 2. 使用IP对客户端进行访问控制 3. 使用域名对客户端进行访问控制 4. 使用通配符对客户端进行访问控制 5. ...

  8. HBase Go客户端Row构造注意事项

    1. Hbase 的Go客户端语言使用方法 2. Hbase的Row使用注意事项 2.1. Row的前几个字段尽量散列 2.2. Row的排序是把所有Row中的字符做字典排序 我们最近在一个项目中使用 ...

  9. keras embeding设置初始值的两种方式

    随机初始化Embedding from keras.models import Sequential from keras.layers import Embedding import numpy a ...

  10. zabbix主动被动模式说明/区别

    说明:使用zabbix代理有很多好处,一方面可以监控不可达的远程区域:另一方面当监控项目数以万计的时候使用代理可以有效分担zabbix server压力,也简化分布式监控的维护. 具体:主动.被动模式 ...