代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
java web 获取客户端操作系统信息
作者:
april
/ 发布于
2019/8/7
/
979
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; } }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
april
贡献的其它代码
(
15
)
.
java web 获取客户端操作系统信息
.
把一个List
集合中的数据用分隔符分开,并以字
.
SQ查询添加字段为行号
.
连接三个数据表
.
KMP算法
.
替换所有指定字符串
.
输入一串整数,输出其和
.
css3文字高亮发光
.
汉字转拼音或首字母,手写版非pinyin4j,可排除例外
.
生成gray码
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3