jsp determines that the request is from the phone sample code

  • 2020-06-15 10:05:29
  • OfStack

 
<% 
String wap = "http://3g.ssss.com.cn"; 

String agent = request.getHeader("user-agent"); 
//String agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22"; 
String agentcheck = agent.trim().toLowerCase(); 
boolean isWAP = false; 
String[] keywords = {"mobile", "android", 
"symbianos", "iphone", "wp\\d*", "windows phone", 
"mqqbrowser", "nokia", "samsung", "midp-2", 
"untrusted/1.0", "windows ce", "blackberry","ucweb", 
"brew", "j2me", "yulong", "coolpad", "tianyu", "ty-", 
"k-touch", "haier", "dopod", "lenovo", "huaqin", "aigo-", 
"ctc/1.0", "ctc/2.0", "cmcc", "daxian", "mot-", 
"sonyericsson", "gionee", "htc", "zte", "huawei", "webos", 
"gobrowser", "iemobile", "wap2.0","WAPI"}; 
Pattern pf = Pattern.compile("wp\\d*"); 
Matcher mf = pf.matcher(agentcheck); 
if (agentcheck!=null&&(agentcheck.indexOf("windows nt") == -1 && agentcheck 
.indexOf("Ubuntu") == -1) 
|| (agentcheck.indexOf("windows nt") > -1 && mf.find())) { 
for (int i = 0; i < keywords.length; i++) { 
Pattern p = Pattern.compile(keywords[i]); 
Matcher m = p.matcher(agentcheck); 
// To rule out   Apple Desktop   and ipad  , iPod 
if (m.find() && agentcheck.indexOf("ipad") == -1 
&& agentcheck.indexOf("ipod") == -1 
&& agentcheck.indexOf("macintosh") == -1) { 
isWAP = true; 
break; 
} 
} 
} 
if (isWAP) { 
response.sendRedirect(wap); 
} 
%> 

 
/** Mobile browser User-Agent The key words in */ 
"Nokia",// Nokia, there is a copycat also write this, is still a mobile phone, Mozilla/5.0 (Nokia5800 XpressMusic)UC AppleWebkit(like Gecko) Safari/530 
"SAMSUNG",//3 Star phone  SAMSUNG-GT-B7722/1.0+SHP/VPP/R5+Dolfin/1.5+Nextreaming+SMM-MMS/1.2.0+profile/MIDP-2.1+configuration/CLDC-1.1 
"MIDP-2",//j2me2.0 . Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML like Gecko) Safari/413 
"CLDC1.1",//M600/MIDP2.0/CLDC1.1/Screen-240X320 
"SymbianOS",// Symbian system,  
"MAUI",//MTK Copycat default ua 
"UNTRUSTED/1.0",// Suspected of being a copycat ua , it's almost certainly a mobile phone  
"Windows CE",//Windows CE . Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) 
"iPhone",//iPhone Whether is turning wap ? Ignore it, distinguish it first. Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; zh-cn) AppleWebKit/532.9 (KHTML like Gecko) Mobile/8B117 
"iPad",//iPad the ua . Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; zh-cn) AppleWebKit/531.21.10 (KHTML like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 
"Android",//Android Whether is turning wap ? Mozilla/5.0 (Linux; U; Android 2.1-update1; zh-cn; XT800 Build/TITA_M2_16.22.7) AppleWebKit/530.17 (KHTML like Gecko) Version/4.0 Mobile Safari/530.17 
"BlackBerry",//BlackBerry8310/2.7.0.106-4.5.0.182 
"UCWEB",//ucweb If only to wap Page?  Nokia5800 XpressMusic/UCWEB7.5.0.66/50/999 
"ucweb",// lowercase ucweb Seems to be uc Proxy server Mozilla/6.0 (compatible; MSIE 6.0;) Opera ucweb-squid 
"BREW",// Very strange ua , such as: REW-Applet/0x20068888 (BREW/3.1.5.20; DeviceId: 40105; Lang: zhcn) ucweb-squid 
"J2ME",// Very strange ua , only J2ME4 A letter  
"YULONG",// Yulong mobile phone, YULONG-CoolpadN68/10.14 IPANEL/2.0 CTC/1.0 
"YuLong",// Or yulong  
"COOLPAD",// Yulong cool YL-COOLPADS100/08.10.S100 POLARIS/2.9 CTC/1.0 
"TIANYU",// Tianyu phone TIANYU-KTOUCH/V209/MIDP2.0/CLDC1.1/Screen-240X320 
"TY-",// Tianyu, TY-F6229/701116_6215_V0230 JUPITOR/2.2 CTC/1.0 
"K-Touch",// Or tianyu K-Touch_N2200_CMCC/TBG110022_1223_V0801 MTK/6223 Release/30.07.2008 Browser/WAP2.0 
"Haier",// Haier mobile phone, Haier-HG-M217_CMCC/3.0 Release/12.1.2007 Browser/WAP2.0 
"DOPOD",// Dopod cell phone  
"Lenovo",//  Lenovo mobile phone, Lenovo-P650WG/S100 LMP/LML Release/2010.02.22 Profile/MIDP2.0 Configuration/CLDC1.1 
"LENOVO",//  Lenovo mobile phones, such as: LENOVO-P780/176A 
"HUAQIN",// Zyxel phone  
"AIGO-",// The Patriot also had a cell phone, AIGO-800C/2.04 TMSS-BROWSER/1.0.0 CTC/1.0 
"CTC/1.0",// Meaning is unclear  
"CTC/2.0",// Meaning is unclear  
"CMCC",// Mobile custom phones, K-Touch_N2200_CMCC/TBG110022_1223_V0801 MTK/6223 Release/30.07.2008 Browser/WAP2.0 
"DAXIAN",// My cell phone DAXIAN X180 UP.Browser/6.2.3.2(GUI) MMP/2.0 
"MOT-",// MOTOROLA, MOT-MOTOROKRE6/1.0 LinuxOS/2.4.20 Release/8.4.2006 Browser/Opera8.00 Profile/MIDP2.0 Configuration/CLDC1.1 Software/R533_G_11.10.54R 
"SonyEricsson",//  SONY Ericsson mobile phone, SonyEricssonP990i/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 405) Opera 8.65 [zh-CN] 
"GIONEE",// Gionee phones  
"HTC",//HTC Mobile phone  
"ZTE",// Zte mobile phone, ZTE-A211/P109A2V1.0.0/WAP2.0 Profile 
"HUAWEI",// Huawei mobile phone,  
"webOS",//palm Mobile phone, Mozilla/5.0 (webOS/1.4.5; U; zh-CN) AppleWebKit/532.2 (KHTML like Gecko) Version/1.0 Safari/532.2 Pre/1.0 
"GoBrowser",//3g GoBrowser.User-Agent=Nokia5230/GoBrowser/2.0.290 Safari 
"IEMobile",//Windows CE The phone comes with a browser,  
"WAP2.0"// support wap 2.0 the  
"wapi"// It's a Chinese standard   In order to fight against wifi (wifi It's not allowed , This function of goods has been castrated , Only gray market phones have this function )  It's a wireless LAN  

Common smartphone user agent String

Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5

MQQBrowser/25 (Linux; U; 2.3.3; zh-cn; HTC Desire S Build/GRI40;480*800)

Mozilla/5.0 (Linux; U; Android 2.3.3; zh-cn; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaE75-1 /110.48.125 Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413

Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8J2

Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A5313e Safari/7534.48.3

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1

Mozilla / 5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident / 5.0; IEMobile / 9.0; SAMSUNG; OMNIA7) - SAMSUNG MP7

Mozilla / 5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident / 5.0; XBLWP7; ZuneWP7) - HTC MP7

I'm going to use javascript because I'm going to use javascript when It comes to page statics
 
<script type="text/javascript"> 
function iswap(){ 
var agentcheck=navigator.userAgent.toLowerCase(); 
var chesys=true; 
var isWAP=false; 
var keywords = ["mobile", "android", 
"symbianos", "iphone","windows phone", 
"mqqbrowser", "nokia", "samsung", "midp-2", 
"untrusted/1.0", "windows ce", "blackberry","ucweb", 
"brew", "j2me", "yulong", "coolpad", "tianyu", "ty-", 
"k-touch", "haier", "dopod", "lenovo", "huaqin", "aigo-", 
"ctc/1.0", "ctc/2.0", "cmcc", "daxian", "mot-", 
"sonyericsson", "gionee", "htc", "zte", "huawei", "webos", 
"gobrowser", "iemobile", "wap2.0","wapi"]; 
// To rule out  windows, Apple and other desktop systems   and ipad  , iPod 
var rekeywords=["Windows 98", "Windows ME","Windows 2000","Windows XP","Windows NT","Ubuntu","ipad","ipod","macintosh"]; 

if (agentcheck!=null){ 
for (var i = 0; i < rekeywords.length; i++) { 
if ( agentcheck.indexOf(rekeywords[i].toLowerCase())>-1){ 
chesys=false; 
} 
} 
} 

if (chesys){ 
for (var i = 0; i < keywords.length; i++) { 
if ( agentcheck.indexOf(keywords[i].toLowerCase())>-1) { 
isWAP = true; 
break; 
} 
} 
} 
if (isWAP) { 
window.location.href="http://3g.gf.com.cn"; 
} 

} 
</script> 

Related articles: