program

[웹/ spring] java에... 확인하기 user-agent

littlecarbb 2016. 12. 30. 13:27

브라우저에서 주소창에 request를 할때

접속자의 os나 ip주소등을 가지고 같이 넘어온다


이 정보를 컨트롤러에서 받는것! 



컨트롤러에서


public String List(HttpServletRequest request, HttpServletResponse response){


System.out.println(request.getHeader("user-agent"));  //접속자의 정보를 가져오기


/*

찍어보면 콘솔에 

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36


Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4


Mozilla/5.0 (Linux; Android 4.4.4; SHV-E210S Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.61 Mobile Safari/537.36 NAVER(higgs; search; 380; 6.3.1; 1.0.6.3)


Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; ja) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.74 Mobile Safari/534.11+



대략 이런식으로 나온다



indexOf("XXX")


해서 if문으로 분기처리 하면 될듯

*/


String ua = request.getHeader("user-agent");

if (ua.indexOf("iPhone") != -1 || 

ua.indexOf("iPad") != -1 || 

ua.indexOf("Android") != -1  || 

ua.indexOf("BlackBerry") != -1  || 

ua.indexOf("symbian") != -1  || 

ua.indexOf("sony") != -1  ||

ua.indexOf("Mobile") != -1 ) {

System.out.println("모바일이다");

} else {

System.out.println("모바일이 아니다");

}


return "page";

}