如何判断请求发送端是手机还是电脑
随着手持互联网设备不断的加入,平板、手机上网占用了网络很大领域,由此在开发时经常遇到一个问题,需要考虑请求者是一个电脑还是平板还是手机呢???这里我人可以使用请求头信息user-agent来判断。
首先来看一级数据:
请求访问来源:
1.win764bitIE9
user-agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Win64;x64;Trident/5.0)
2.Android2.3.6uc
user-agent:Mozilla/5.0(Linux;U;Android2.3.6;zh-CN;NexusSBuild/GRK39F)AppleWebKit/534.31(KHTML,likeGecko)UCBrowser/9.0.1.275U3/0.8.0MobileSafari/534.31
上面是电脑与手机的访问获取到的user-agent数据,通过以上数据可以看到,它们之间的user-agent中会列出不同的系统信息与浏览器信息以及操作系统信息等等,这时我们就可以通过这些数据来分辨请求是来自什么客户端发出的了。
附件1:如何获取请求头信息代码
[code="java"]Enumeratione=request.getHeaderNames();
while(e.hasMoreElements()){
Stringkey=(String)e.nextElement();
out.println(key);
out.println(":");
out.println(request.getHeader(key));
out.println("");
}
附件2:加密等级标识说明
N:表示无安全加密
I:表示弱安全加密
U:表示强安全加密
附件3:操作系统标识说明
[code="java"]FreeBSD
X11;FreeBSD(versionno.)i386
X11;FreeBSD(versionno.)AMD64
Linux
X11;Linuxppc
X11;Linuxppc64
X11;Linuxi686
X11;Linuxx86_64
Mac
Macintosh;PPCMacOSX
Macintosh;IntelMacOSX
Solaris
X11;SunOSi86pc
X11;SunOSsun4u
Windows:
windowsNT6.2对应操作系统windows8
WindowsNT6.1对应操作系统windows7
WindowsNT6.0对应操作系统windowsvista
WindowsNT5.2对应操作系统windows2003
WindowsNT5.1对应操作系统windowsxp
WindowsNT5.0对应操作系统windows2000
WindowsME
Windows98
<ahref=http://www.2345.com/?khtmover>看完后请点击,支持一下作者</a>
【温馨提示】如果我的整理对您的学习有帮助,可以在方便的情况向我们整理小组的支付宝支付1毛钱,表示对我们整理小组的支持,谢谢支付宝帐号:[email protected]