1. 程式人生 > >HTTP請求來自手機端和PC端顯示判斷(隨筆)

HTTP請求來自手機端和PC端顯示判斷(隨筆)

        今天週六,本來計劃是加班的,但是專案臨時出現問題,臨時通知不用加班了。但是來早了,那就在公司待會吧。偶然興起,逛起了家鄉的政府網站(漂泊在外的人會想家哭),隨意點點,居然發現老家的政府網站居然支援手機和電腦的自適應。雖然這個技術不是什麼很新鮮的技術。但是我第一次發現,以前也沒有在專案中遇到過。(自己想到的實現方式記錄一下,為以後開發這樣的需求做記錄)

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瀏覽器");
        }