java web 获取客户端操作系统信息
package com.java.basic.pattern; import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* 获取客户端操作系统信息
* 从http的header中获取到user-agent,然后利用正则表达式判断是哪一种操作系统
*
* 暂只匹配Win 7、WinXP、Win2003、Win2000、MAC、WinNT、Linux、Mac68k、Win9x
*
* @param userAgent request.getHeader("user-agent")的返回值
*
* @author
*
*/
public class ClientOS { private static final String USER_AGENT = ""; public static void main(String[] args) {
String clientOS = getClientOS(USER_AGENT); } public static String getClientOS(String userAgent){
String cos = "unknow os"; Pattern p = Pattern.compile(".*(Windows NT 6\\.1).*");
Matcher m = p.matcher(userAgent);
if(m.find()){
cos = "Windows7";
return cos;
} p = Pattern.compile(".*(Windows NT 5\\.1|Windows XP).*");
m = p.matcher(userAgent);
if(m.find()){
cos = "WinXP";
return cos;
} p = Pattern.compile(".*(Windows NT 5\\.2).*");
m = p.matcher(userAgent);
if(m.find()){
cos = "Win2003";
return cos;
} p = Pattern.compile(".*(Win2000|Windows 2000|Windows NT 5\\.0).*");
m = p.matcher(userAgent);
if(m.find()){
cos = "Win2000";
return cos;
} p = Pattern.compile(".*(Mac|apple|MacOS8).*");
m = p.matcher(userAgent);
if(m.find()){
cos = "MAC";
return cos;
} p = Pattern.compile(".*(WinNT|WindowsNT).*");
m = p.matcher(userAgent);
if(m.find()){
cos = "WinNT";
return cos;
} p = Pattern.compile(".*Linux.*");
if(m.find()){
cos = "Linux";
return cos;
} p = Pattern.compile(".*68k|68000.*");
m = p.matcher(userAgent);
if(m.find()){
cos = "Mac68k";
return cos;
} p = Pattern.compile(".*(9x 4.90|Win9(5|8)|Windows 9(5|8)|95/NT|Win32|32bit).*");
m = p.matcher(userAgent);
if(m.find()){
cos = "Win9x";
return cos;
} return cos;
} }
java web 获取客户端操作系统信息的更多相关文章
- Java Web 获取客户端真实IP
Java Web 获取客户端真实IP 发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP.一般分为两种情况: 方 ...
- java web获取客户端外网ip和所在区域
@参考文章1.@参考文章2.@参考文章3.@参考文章4,@之前同事的项目 controller @Controller @RequestMapping("/home") publi ...
- 如何通过Request.ServerVariables["HTTP_USER_AGENT"]获取客户端操作系统信息
http://www.useragentstring.com/pages/api.php
- java代码获取客户端的真实ip
java代码获取客户端的真实ip protected String getIpAddr(HttpServletRequest request) { String ip = request.getHea ...
- Java Web的数据库操作(一)
一.JDBC技术 1.JDBC简介 JDBC是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可以非常方便地与各种数据库交互,JDBC在Java程序与 ...
- 7.Java Web的数据库操作
一.环境配置(基于MySQL数据库) 1.下载MySQL数据库 2.下载安装 Navicat,破解方法去吾爱破解网站查询 第一次连接mysql时可能会出现错误,可能是因为二者对密码的编码方法不一致,可 ...
- java web获取请求体内容
Java Web中如何获取请求体内容呢? 我们知道请求方式分为两种:Get,Post. /*** * Compatible with GET and POST * * @param request * ...
- Java正确获取客户端真实IP方法整理
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...
- 干货:Java正确获取客户端真实IP方法整理
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...
随机推荐
- c语言基础学习02_windows系统下的cmd命令
=============================================================================注意:cmd的命令很多,需要用的时候可以查询即 ...
- 浅谈localStorage、sessionStorage 与cookie
由于工作的需要,今天使用了下localStorage.sessionStorage和cookie,感觉这玩意儿还挺好用的. 关于localStorage与sessionStorage的知识点以及用法之 ...
- The most interesting feature of iPhone X - FaceID
No doubt everybody knows that iPhone 8 & iPhone X appear on the market. A feature called FaceID ...
- 微信小程序版2048
最近流行微信"跳一跳"小游戏,我也心血来潮写了一个微信小程序版2048,本篇文章主要分享实现2048的算法以及注意的点,一起来学习吧!(源码地址见文章末尾) 算法 1.生成4* ...
- tp5 隐藏index.php 邓士鹏
tp5 隐藏index.php ------------------------------------------------------------------------------------ ...
- cpuimage 开源之
前年学习opengl做的一个小东西. 原本计划将gpuimage 的算法一个一个转写成cpu版本 c,c++ 版本. gpuimage 项目参考: https://github.com/BradLar ...
- C语言的函数调用过程
从汇编的角度解析函数调用过程 看看下面这个简单函数的调用过程: int Add(int x,int y) { ; sum = x + y; return sum; } int main () { ; ...
- linux_磁盘分区
分区并没有数据内容只是改变分区表,保存在0磁头,0磁道1扇区除MBR引导后64bytes中,只能有4个组分区,4个以上要一个扩展分区 引导MBR,保存在446字节中 磁盘想要存放数据,首先要分区,可以 ...
- js中键盘按键对应的键值
js键盘键值 keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 1 ...
- android 页面的切换
startActivity后加:IntentHelper.jump(mContext, MyBalanceActivity.class);activity.overridePendingTransit ...