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;
}
有些类型是他自己里面定义好的枚举。。知道那个意思就行了。。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步