webapp根据User-Agent获取手机信息

来源:互联网 发布:picasa软件如何使用 编辑:程序博客网 时间:2024/04/27 16:55

1.User-Agent是可以伪造的

2.User-Agent中含有操作系统和版本信息

使用ionic做webapp应用appStore时,为了判断当前用户是android用户还是ios用户,从useragent中获取用户信息,当前做法不够完善
package com.baosight.webapp.util;public class UserAgentUtil {public static String android="Android";public static String iphone="iPhone";public static String ipad="iPad";//获取用户操作系统public static String getOS(String userAgent){if (userAgent.contains(android)) {return android;}else if (userAgent.contains(iphone)){return iphone;}else if (userAgent.contains(ipad)){return ipad;}else {return "others";}}//获取用户手机型号public static String getPhone(String userAgent){String OS=UserAgentUtil.getOS(userAgent);String phoneStr="不知名的手机";if (OS.equals(android)) {String rex="[()]+";String[] str=userAgent.split(rex);str = str[1].split("[;]");String[] res=str[str.length-1].split("Build/");return res[0];}else if (OS.equals(iphone)) {String[] str=userAgent.split("[()]+");String res="iphone"+str[1].split("OS")[1].split("like")[0];return res;}else if (OS.equals(ipad)) {return ipad;}else {return "火星人";}}public static void main(String[] args) {/*String phone="Mozilla/5.0 (Linux; U; Android 1.5; ja-jp; GDDJ-09 Build/CDB56) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1";String rex="[()]+";String[] str=phone.split(rex);str = str[1].split("[;]");String[] res=str[str.length-1].split("Build/");System.out.println(res[0]);*/String userAgent="User-agent==Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13F69 Safari/601.1";String[] str=userAgent.split("[()]+");String res="iphone"+str[1].split("OS")[1].split("like")[0];System.out.println(res);}}

3常见机型的UserAgent见如下链接

userAgent链接

0 0