天天看點

基于HTTP請求頭字段 User-Agent使用者環境 開發多端應用

User-Agent是HTTP請求頭的一個字段,主要用于向伺服器提供用戶端的浏覽器類型及版本、作業系統及版本、浏覽器核心等資訊。開發者可以根據系統環境開發不同排版的網站,給予使用者更好的體驗。

基于HTTP請求頭字段 User-Agent使用者環境 開發多端應用

基于HTTP請求頭的User-Agent系統環境字段開發多端應用案例:

  • 伺服器端可以通過String userAgent = request.getHeaders(“User-Agent”)來擷取H資訊TTP請求頭的User-Agent字段的資訊(值)
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @Author: 落葉無痕
 * @Date: 2020/6/2 17:03
 */
@WebServlet("/ua")
public class UserAgentServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    	//設定響應内容類型
        response.setContentType("text/html;charset=utf-8");
        //擷取請求體的User-Agent系統環境字段資訊
        String userAgent = request.getHeader("User-Agent");
        String output = "";
        //判斷目前用戶端的系統環境
        if (userAgent.indexOf("Windows NT") != -1) {
            output = "<h1>這是PC端</h1>";
        } else if (userAgent.indexOf("Android") != -1 || userAgent.indexOf("iPhone") != -1) {
            output = "<h1>這是移動端</h1>";
        }
        //浏覽器列印輸出
        response.getWriter().println(output);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        super.doPost(request, response);
    }

}
           

運作效果:

基于HTTP請求頭字段 User-Agent使用者環境 開發多端應用