同样也是在破解版的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;

}

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

最新文章

  1. Angular工作笔记
  2. HDU 2254
  3. 参数化SQL sql语句
  4. LoadRunner用户行为模拟器 《第三篇》
  5. POJ 1151 Atlantis 线段树+离散化+扫描线
  6. hadoop 分片与分块,map task和reduce task的理解
  7. exe解析
  8. mysql 自带的压力测试
  9. git 一口气带你走完git之旅
  10. 【SSH系列】Hibernate映射 -- 一对一单向关联映射
  11. 注解@EnableDiscoveryClient,@EnableEurekaClient的区别
  12. dp 动态规划 蘑菇
  13. imanager一些常用方法汇总
  14. 2017-2018 第一学期201623班《程序设计与数据结构》-第7&8周作业问题总结
  15. 共享仓库,远程仓库,多人协作,github操作
  16. 【appium】keyevent的keycode
  17. .NET框架源码解读之SSCLI的调试支持
  18. OpenSSL 给自己颁发根证书,由根证书签发下级证书的步骤。
  19. android Contacts/Acore进程常常被Kill,导致联系人开机后丢失怎么办?
  20. threejs三角形Geometry的顶点时针顺序会导致三角形看不见

热门文章

  1. yii框架的部署方法
  2. .Net(c#)加密解密工具类:
  3. 基于Jmeter跟Jenkins的自动化性能测试的一站式解决方案(转)
  4. Textview文字监控(输入到某个字符后,进行操作)
  5. 关于iOS应用通过OpenURL在设置打开相机权限,然后原应用会立即崩溃(重启)的理解
  6. 树莓派进阶之路 (024) - windows远程桌面连接树莓派通过xrdp服务(转)
  7. MySQL的初次见面礼基础实战篇
  8. ROS学习(四)—— 创建ROS Package
  9. HDU 4532 湫秋系列故事——安排座位 (组合+DP)
  10. 【Spring】SpringMVC非注解配置的两种方式