移动端网页有个需求,判断用户是否在微信内访问。如果是在微信内访问,就需要用户授权,使用微信信息自动登录;如果不是在微信内访问,就直接展示内容,不要求用户授权和登录。 asp.net怎么在服务端代码判断用户使用的是不是微信呢。
最佳解决方案
使用userAgent进行判断,微信浏览器的UserAgent为:
Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/7.0.13(0x17000d2a) NetType/WIFI Language/zh_CN
其中:MicroMessenger 是微信浏览器的特定标识,判断UserAgent中是否包含就可以。
string userAgent = Request.UserAgent;
Response.Write(userAgent+"<br/>");
if (userAgent.ToLower().Contains("micromessenger"))
{
Response.Write("微信");
}
else
{
Response.Write("非微信");
}
Response.End();