HTTP請求來自手機端和PC端顯示判斷(隨筆)
阿新 • • 發佈:2018-11-02
今天週六,本來計劃是加班的,但是專案臨時出現問題,臨時通知不用加班了。但是來早了,那就在公司待會吧。偶然興起,逛起了家鄉的政府網站(漂泊在外的人會想家),隨意點點,居然發現老家的政府網站居然支援手機和電腦的自適應。雖然這個技術不是什麼很新鮮的技術。但是我第一次發現,以前也沒有在專案中遇到過。(自己想到的實現方式記錄一下,為以後開發這樣的需求做記錄)
1、網站PC端:
手機端:
2、我發現請求頭資訊中的內容不一樣
PC端請求中的user-agent:
手機端請求的user-agent:
3、實現方式:
這樣的話,可以在後臺控制層獲取http中user-agent中的資訊,然後進行判斷。
獲取方式:
工具類:
public static boolean isMobileDevice(String requestHeader){ /** * android : 所有android裝置 * mac os : iphone ipad * windows phone:Nokia等windows系統的手機 */ String[] deviceArray = new String[]{"android","mac os","windows phone"}; if(requestHeader == null) return false; requestHeader = requestHeader.toLowerCase(); for(int i=0;i<deviceArray.length;i++){ if(requestHeader.indexOf(deviceArray[i])>0){ return true; } } return false; }
呼叫:
String requestHeader = request.getHeader("user-agent");
if(JudgeRequestDeviceUtil.isMobileDevice(requestHeader)){
logger.debug("使用手機瀏覽器");
}else{
logger.debug("使用web瀏覽器");
}