Webapp源码之根据User-Agent获取手机信息
白羽 2018-07-02 来源 :网络 阅读 2482 评论 0

摘要:本文将带你了解Webapp源码之根据User-Agent获取手机信息,希望本文对大家学WEBAPP有所帮助。


1.User-Agent是可以伪造的
2.User-Agent中含有操作系统和版本信息
使用ionic做webapp应用appStore时,为了判断当前用户是android用户还是ios用户,从useragent中获取用户信息,当前做法不够完善
[java] view plain copy
1. package com.baosight.webapp.util;  
2.   
3. public class UserAgentUtil {  
4.     public static String android="Android";  
5.     public static String iphone="iPhone";  
6.     public static String ipad="iPad";  
7.     //获取用户操作系统  
8.     public static String getOS(String userAgent){  
9.         if (userAgent.contains(android)) {  
10.             return android;  
11.         }else if (userAgent.contains(iphone)){  
12.             return iphone;  
13.         }else if (userAgent.contains(ipad)){  
14.             return ipad;  
15.         }else {  
16.             return "others";  
17.         }  
18.     }  
19.     //获取用户手机型号  
20.     public static String getPhone(String userAgent){  
21.         String OS=UserAgentUtil.getOS(userAgent);  
22.         String phoneStr="不知名的手机";  
23.         if (OS.equals(android)) {  
24.             String rex="[()]+";  
25.             String[] str=userAgent.split(rex);  
26.             str = str[1].split("[;]");  
27.             String[] res=str[str.length-1].split("Build/");  
28.             return res[0];  
29.         }else if (OS.equals(iphone)) {  
30.             String[] str=userAgent.split("[()]+");  
31.             String res="iphone"+str[1].split("OS")[1].split("like")[0];  
32.             return res;  
33.         }else if (OS.equals(ipad)) {  
34.             return ipad;  
35.         }else {  
36.             return "火星人";  
37.         }  
38.   
39.   
40.     }  
41.     public static void main(String[] args) {  
42.         /*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"; 
43.         String rex="[()]+"; 
44.         String[] str=phone.split(rex); 
45.         str = str[1].split("[;]"); 
46.         String[] res=str[str.length-1].split("Build/"); 
47.         System.out.println(res[0]);*/  
48.         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";  
49.         String[] str=userAgent.split("[()]+");  
50.         String res="iphone"+str[1].split("OS")[1].split("like")[0];  
51.         System.out.println(res);  
52.     }  
53.   
54. }


 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程