首页 文章 精选 留言 我的

精选列表

搜索[网站开发],共10000篇文章
优秀的个人博客,低调大师

C#判断访问网站的设备类型

同样也是在破解版的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; } 有些类型是他自己里面定义好的枚举。。知道那个意思就行了。。

优秀的个人博客,低调大师

使用hadoop平台进行小型网站日志分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/44688325 0.上传日志文件到linux中,通过flume将文件收集到hdfs中。 执行命令/home/cloud/flume/bin/flume-ng agent -n a4 -c conf -f /home/cloud/flume/conf/a4.conf -Dflume.root.logger=DEBUG,console 1.建立hive表 create external table bbslog (ip string,logtime string,url string) partitioned by (logdate string) row format delimited fields terminated by '\t' location '/cleaned'; 2.创建shell脚本 touch daily.sh 添加执行权限 chmod +x daily.sh daily.sh: CURRENT=`date +%Y%m%d` #对数据进行清理,保存到cleaned文件夹,按照当前日期进行保存 /home/cloud/hadoop/bin/hadoop jar /home/cloud/cleaner.jar /flume/$CURRENT /cleaned/$CURRENT #修改hive表,添加当前日期的分区 /home/cloud/hive/bin/hive -e "alter table bbslog add partition (logdate=$CURRENT) location 'cleaned/$CURRENT'" #使用hive进行分析,根据业务需求而定 #统计pv并计入每日的pv表 /home/cloud/hive/bin/hive -e "create table pv_$CURRENT row format delimited fields terminated by '\t' as select count(*) from bbslog where logdate=$CURRENT;" #统计点击次数过20的潜在用户 /home/cloud/hive/bin/hive -e "create table vip _$CURRENT row format delimited fields terminated by '\t' as select $CURRENT,ip,count(*) as hits from bbslog where logdate=$CURRENT group by ip having hits > 20 order by hits desc" #查询uv /home/cloud/hive/bin/hive -e "create table uv_$CURRENT row format delimited fields terminated by '\t' as select count(distinct ip) from bbslog where logdate=$CURRENT" #查询每天的注册人数 /home/cloud/hive/bin/hive -e "create table reg_$CURRENT row format delimited fields terminated by '\t' as select count(*) from bbslog where logdate=$CURRENT AND instr(url,'member.php?mod=register')>0" #将hive表中的数据导入mysql /home/cloud/sqoop/bin/sqoop export --connect jdbc:mysql://cloud3:3306/jchubby --username root --password JChubby123 --export-dir "/user/hive/warehouse/vip_$CURRENT" --table vip --fields-terminated-by '\t'

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册