现在的位置: 首页 > 综合 > 正文

通过浏览器的User-Agent实现手机版和电脑版的自动识别切换

2017年11月27日 ⁄ 综合 ⁄ 共 1955字 ⁄ 字号 评论关闭

下面是jsp代码,通过判断浏览器的User-Agent是否是手机浏览器来识别:
String[] mobileAgents = {"iphone", "android", "phone", "mobile", "wap", "netfront", "java", "opera mobi", "opera mini", "ucweb", "windows ce", "symbian", "series", "webos", "sony", "blackberry", "dopod", "nokia", "samsung", "palmsource", "xda", "pieplus", "meizu",
"midp", "cldc", "motorola", "foma", "docomo", "up.browser", "up.link", "blazer", "helio", "hosin", "huawei", "novarra", "coolpad", "webos", "techfaith", "palmsource", "alcatel", "amoi", "ktouch", "nexian", "ericsson", "philips", "sagem", "wellcom", "bunjalloo",
"maui", "smartphone", "iemobile", "spice", "bird", "zte-", "longcos", "pantech", "gionee", "portalmmm", "jig browser", "hiptop", "benq", "haier", "^lct", "320x320", "240x320", "176x220", "w3c ", "acs-", "alav", "alca", "amoi", "audi", "avan", "benq", "bird",
"blac", "blaz", "brew", "cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "inno", "ipaq", "java", "jigs", "kddi", "keji", "leno", "lg-c", "lg-d", "lg-g", "lge-", "maui", "maxo", "midp", "mits", "mmef", "mobi", "mot-", "moto", "mwbp", "nec-", "newt",
"noki", "oper", "palm", "pana", "pant", "phil", "play", "port", "prox", "qwap", "sage", "sams", "sany", "sch-", "sec-", "send", "seri", "sgh-", "shar", "sie-", "siem", "smal", "smar", "sony", "sph-", "symb", "t-mo", "teli", "tim-", "tosh", "tsm-", "upg1",
"upsi", "vk-v", "voda", "wap-", "wapa", "wapi", "wapp", "wapr", "webc", "winw", "winw", "xda", "xda-", "Googlebot-Mobile"};
boolean isMoblie = false;
String header = request.getHeader("User-Agent");
System.out.println("浏览器类型:"+header);
if(header!=null){

for(int i=0;i<mobileAgents.length;i++){

if(header.toLowerCase().indexOf(mobileAgents[i])>=0){

isMoblie = true;

break;

}

}

}
//如果为手机浏览器
if(isMoblie){
response.sendRedirect("wap/login.jsp");
}else{
response.sendRedirect("index.jsp");
}


打印结果:
如果是google chrome浏览器访问,那么输出的浏览器User-Agent类型为:
浏览器类型:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
如果是android手机访问,那么输出的浏览器User-Agent类型为:
浏览器类型:Mozilla/5.0 (Linux; U; Android 4.0.1; zh-cn; MI-ONE Plus Build/ITL41D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30


抱歉!评论已关闭.