失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > c# .net 后端判断是否是移动端 是否是安卓设备 是否是微信 是否是支付宝 是

c# .net 后端判断是否是移动端 是否是安卓设备 是否是微信 是否是支付宝 是

时间:2019-08-22 20:47:22

相关推荐

c#   .net 后端判断是否是移动端 是否是安卓设备 是否是微信 是否是支付宝 是

c# , .net 判断是否是移动端,是否是微信,支付宝,QQ,是什么系统等

仅支持web项目

第一步:拿到请求上下文

我是项目是MVC项目

方法一:

var UserAgentText= Request.UserAgent;

方法二:

var request = Request.Headers;string UserAgentText= request["User-Agent"];

第二步:获取设备信息

UserAgentDeviceInfoModel userAgentDeviceInfoModel = UserAgentHelp.GetDeviceInfo(UserAgentText);

示例:

public class UserAgentExecute{public static void Execute(){List<string> listStr = new List<string>();/【电脑-谷歌浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36");/【电脑-360浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36");/【手机微信-浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (Linux; Android 10; M2002J9E Build/QKQ1.191222.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/3209 MMWEBSDK/2024 Mobile Safari/537.36 MMWEBID/3181 MicroMessenger/8.0.20.2100(0x2800149A) Process/toolsmp WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64");/【苹果手机微信-浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.18(0x1800123f) NetType/WIFI Language/zh_CN");/【手机QQ-浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (Linux; Android 10; M2002J9E Build/QKQ1.191222.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.72 MQQBrowser/6.2 TBS/045913 Mobile Safari/537.36 V1_AND_SQ_8.8.83_2654_YYB_D A_8088300 PA QQ/8.8.83.7540 NetType/WIFI WebP/0.3.0 Pixel/1080 StatusBarHeight/70 SimpleUISwitch/0 QQTheme/1000 InMagicWin/0 StudyMode/0 CurrentMode/0 CurrentFontScale/1.0 GlobalDensityScale/0.9818182 AppId/537114460");/【苹果手机-QQ-浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/19E241 QQ/8.8.85.636 V1_IPH_SQ_8.8.85_1_APP_A Pixel/1170 MiniAppEnable SimpleUISwitch/1 StudyMode/0 CurrentMode/1 CurrentFontScale/1.000000 QQTheme/2921 AppId/537115277 Core/WKWebView Device/Apple(iPhone 13) NetType/WIFI QBWebViewType/1 WKType/1");/【手机支付宝-浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (Linux; U; Android 10; zh-CN; M2002J9E Build/QKQ1.191222.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 UWS/3.22.2.43 Mobile Safari/537.36 UCBS/3.22.2.43_2304 NebulaSDK/1.8.100112 Nebula AlipayDefined(nt:WIFI,ws:393|0|2.75) AliApp(AP/10.2.58.8000) AlipayClient/10.2.58.8000 Language/zh-Hans useStatusBar/true isConcaveScreen/true Region/CNAriver/1.0.0");/【苹果手机-支付宝-浏览器信息】User-Agent/listStr.Add("Mozilla/5.0 (iPhone; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/19E241 Ariver/1.1.0 AliApp(AP/10.2.59.2500) Nebula WK RVKType(1) AlipayDefined(nt:WIFI,ws:390|780|3.0) AlipayClient/10.2.59.2500 Alipay Language/zh-Hans Region/CN NebulaX/1.0.0");UserAgentDeviceInfoModel userAgentDeviceInfoModel = null;foreach (string UserAgentText in listStr){userAgentDeviceInfoModel = UserAgentHelp.GetDeviceInfo(UserAgentText); Console.WriteLine(userAgentDeviceInfoModel.Remark);}}}

结果:

系统:Windows;应用名称:unknown;是否移动端:False;系统:Windows;应用名称:unknown;是否移动端:False;系统:Android;应用名称:WeChat;是否移动端:True;系统:iPhone;应用名称:WeChat;是否移动端:True;系统:Android;应用名称:QQ;是否移动端:True;系统:iPhone;应用名称:QQ;是否移动端:True;系统:Android;应用名称:Alipay;是否移动端:True;系统:iPhone;应用名称:Alipay;是否移动端:True;

核心帮助类UserAgentHelp:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace test1.Request.UserAgent{public class UserAgentHelp{/// <summary>/// 获取设备信息/// </summary>/// <param name="UserAgentText"></param>/// <returns></returns>public static UserAgentDeviceInfoModel GetDeviceInfo(string UserAgentText){UserAgentDeviceInfoModel userAgentDeviceInfoModel = new UserAgentDeviceInfoModel(){System = ChackSystemInfo(UserAgentText),App = ChackAppInfo(UserAgentText),IsMobile = UserAgentText.Contains("Mobile")};userAgentDeviceInfoModel.Remark = $"系统:{userAgentDeviceInfoModel.System};应用名称:{userAgentDeviceInfoModel.App};是否移动端:{userAgentDeviceInfoModel.IsMobile};";return userAgentDeviceInfoModel;}/// <summary>/// 检查系统信息/// </summary>/// <param name="str"></param>/// <returns></returns>private static DeviceSystemEnum ChackSystemInfo(string str){if (str.Contains("Android")){return DeviceSystemEnum.Android;}else if (str.Contains("iPhone")){return DeviceSystemEnum.iPhone;}else if (str.Contains("Windows")){return DeviceSystemEnum.Windows;}else{return DeviceSystemEnum.unknown;//未知}}/// <summary>/// 检查应用信息/// </summary>/// <param name="str"></param>/// <returns></returns>private static DeviceAppEnum ChackAppInfo(string str){if (str.Contains("MicroMessenger")){return DeviceAppEnum.WeChat;}else if (str.Contains("AlipayClient")){return DeviceAppEnum.Alipay;}else if (str.Contains("QQ")){return DeviceAppEnum.QQ;}else{return DeviceAppEnum.unknown;//未知}}}/// <summary>/// 用户请求的设备信息/// </summary>public class UserAgentDeviceInfoModel{/// <summary>/// 系统信息/// </summary>public DeviceSystemEnum System { set; get; }/// <summary>/// 应用信息/// </summary>public DeviceAppEnum App { set; get; }/// <summary>/// 是否移动端/// </summary>public bool IsMobile { set; get; }/// <summary>/// 备注信息/// </summary>public string Remark { set; get; }}/// <summary>/// 系统信息枚举/// </summary>public enum DeviceSystemEnum{Android,iPhone,Windows,/// <summary>/// 未知/// </summary>unknown,}/// <summary>/// 应用名称信息枚举/// </summary>public enum DeviceAppEnum{/// <summary>/// 微信-(判断字段MicroMessenger)/// </summary>WeChat,/// <summary>/// 支付宝-(判断字段AlipayClient)/// </summary>Alipay,/// <summary>/// qq-(判断字段QQ)/// </summary>QQ,/// <summary>/// 未知/// </summary>unknown,}}

扩展阅读

HTTP Header 详解,headers的值都是什么意思_cplvfx的博客-CSDN博客HTTP Header 详解/cplvfx/article/details/124064184

c# .net 后端判断是否是移动端 是否是安卓设备 是否是微信 是否是支付宝 是否是QQ 是否是安卓系统 是否是苹果系统等

如果觉得《c# .net 后端判断是否是移动端 是否是安卓设备 是否是微信 是否是支付宝 是》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。