91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Java獲取操作系統及瀏覽器信息

發布時間:2021-10-08 09:25:07 來源:億速云 閱讀:150 作者:iii 欄目:開發技術

本篇內容主要講解“如何用Java獲取操作系統及瀏覽器信息”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何用Java獲取操作系統及瀏覽器信息”吧!

目錄
  • User Agent 的含義

  • 瀏覽器的 UA 字串

  • UserAgentUtils.jar

  • 通過(User-Agent)獲取 瀏覽器類型,操作系統類型,手機機型

  • 再給出一個:

  • 總結

在生產環境下,我們需要關閉swagger配置,避免暴露接口的這種危險行為。

User Agent 的含義

User Agent 中文名為用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器能夠識別客戶使用的操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。

一些網站常常通過判斷 UA 來給不同的操作系統、不同的瀏覽器發送不同的頁面,因此可能造成某些頁面無法在某個瀏覽器中正常顯示,但通過偽裝 UA 可以繞過檢測。

瀏覽器的 UA 字串

標準格式為: 瀏覽器標識 (操作系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識 版本信息

瀏覽器標識

由于很多網站在進行 UA 檢測的時候忽略了兩位數版本號,所以可能造成 瀏覽器及之后版本收到糟糕的頁面,因此自 瀏覽器 10 之后的版本中瀏覽器標識項固定為 瀏覽器,在 UA 字串尾部添加真實版本信息。

注:源自百度百科

UserAgentUtils.jar

UserAgentUtils.jar 是 UserAgent 的工具類。

maven如下:

<!-- https://mvnrepository.com/artifact/eu.bitwalker/UserAgentUtils --> 
<dependency>
	 <groupId>eu.bitwalker</groupId>
 	<artifactId>UserAgentUtils</artifactId> 
	 <version>1.20</version> 
 </dependency>

java代碼如下:

UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));  
Browser browser = userAgent.getBrowser(); 
OperatingSystem os = userAgent.getOperatingSystem();

方法

package com.cyj.controller;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.OperatingSystem;
import eu.bitwalker.useragentutils.UserAgent;

/**
 * 
 * @Description: 獲取ip控制器
 * @ClassName: IpController.java
 * @author ChenYongJia
 * @Date 2019年4月20日 晚上20:25
 * @Email chen87647213@163.com
 */
@RestController
public class IpController {
	
	private static final Logger log = LoggerFactory.getLogger(IpController.class);
	
	/**
     * 獲取操作系統及瀏覽器信息
     * @param request
     * @return
     */
    @RequestMapping(value="/browser",method = RequestMethod.GET)
    public void getBrowser(HttpServletRequest request){
    	String ua = request.getHeader("User-Agent");
        log.info("******************************");
        log.info("操作系統及瀏覽器信息:"+ua);
        //轉成UserAgent對象
        UserAgent userAgent = UserAgent.parseUserAgentString(ua);
        //獲取瀏覽器信息
        Browser browser = userAgent.getBrowser();
        log.info("瀏覽器信息:"+browser);
        //獲取系統信息
        OperatingSystem os = userAgent.getOperatingSystem();
        log.info("系統信息:"+os);
        //系統名稱
        String system = os.getName();
        log.info("系統名稱:"+system);
        //瀏覽器名稱
        String browserName = browser.getName();
        log.info("瀏覽器名稱:"+browserName);
        log.info("******************************");

    }
    
}

結果如下:

**************火狐****************
操作系統及瀏覽器信息:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
瀏覽器信息:FIREFOX
系統信息:WINDOWS_7
系統名稱:Windows 7
瀏覽器名稱:Firefox
******************************

**************谷歌****************
操作系統及瀏覽器信息:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36
瀏覽器信息:CHROME
系統信息:WINDOWS_7
系統名稱:Windows 7
瀏覽器名稱:Chrome
******************************

************IE******************
操作系統及瀏覽器信息:Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
瀏覽器信息:MOZILLA
系統信息:WINDOWS_7
系統名稱:Windows 7
瀏覽器名稱:Mozilla

******************************

通過(User-Agent)獲取 瀏覽器類型,操作系統類型,手機機型

獲得瀏覽器請求頭中的 User-Agent

String ua = request.getHeader("User-Agent")

獲得瀏覽器類型,操作系統類型,請看上面的 java代碼 如下標題內容

獲得手機類型:

package com.cyj.controller;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.OperatingSystem;
import eu.bitwalker.useragentutils.UserAgent;

/**
 * 
 * @Description: 獲取ip控制器
 * @ClassName: IpController.java
 * @author ChenYongJia
 * @Date 2019年4月20日 晚上20:25
 * @Email chen87647213@163.com
 */
@RestController
public class IpController {
	
	private static final Logger log = LoggerFactory.getLogger(IpController.class);
	
	/**
     * 獲取操作系統及瀏覽器信息
     * @param request
     * @return
     */
    @RequestMapping(value="/browser",method = RequestMethod.GET)
    public void getBrowser(HttpServletRequest request){
    	UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));  
        Browser browser = userAgent.getBrowser();  
        OperatingSystem os = userAgent.getOperatingSystem();
    	
    	Pattern pattern = Pattern.compile(";\\s?(\\S*?\\s?\\S*?)\\s?(Build)?/");  
        Matcher matcher = pattern.matcher((CharSequence) userAgent);  
        String model = null;  
        if (matcher.find()) {  
            model = matcher.group(1).trim();  
            log.debug("通過userAgent解析出機型:" + model);  
        }

    }
    
}

再給出一個:

 package com.cyj.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.OperatingSystem;
import eu.bitwalker.useragentutils.UserAgent;
import eu.bitwalker.useragentutils.Version;

/**
 * 
 * @Description: 獲取ip控制器
 * @ClassName: IpController.java
 * @author ChenYongJia
 * @Date 2019年4月20日 晚上20:25
 * @Email chen87647213@163.com
 */
@RestController
public class IpController {

	private static final Logger log = LoggerFactory.getLogger(IpController.class);

	/**
	 * 獲取操作系統及瀏覽器信息
	 * 
	 * @param request
	 * @return
	 */
	@RequestMapping(value = "/browser", method = RequestMethod.GET)
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String agentStr = request.getHeader("user-agent");
		System.out.println(agentStr);
		UserAgent agent = UserAgent.parseUserAgentString(agentStr);
		// 瀏覽器
		Browser browser = agent.getBrowser();
		System.out.println("類型:" + browser.getBrowserType() + "\n名稱:" + browser.getName() + "\n廠商:"
				+ browser.getManufacturer() + "\n產品系列:" + browser.getGroup() + "\n引擎:" + browser.getRenderingEngine());

		// 瀏覽器版本
		Version version = agent.getBrowserVersion();
		System.out.println("========================");
		System.out.println("主版本:" + version.getMajorVersion() + "\n小版本:" + version.getMinorVersion() + "\n完整版本:"
				+ version.getVersion());
		// 操作系統
		System.out.println("========================");
		OperatingSystem os = agent.getOperatingSystem();
		System.out.println("名稱:" + os.getName() + "\n設備類型:" + os.getDeviceType() + "\n產品系列:" + os.getGroup() + "\n生成廠商:"
				+ os.getManufacturer());
	}

}

各位小伙伴自行測試結果吧!!!

到此,相信大家對“如何用Java獲取操作系統及瀏覽器信息”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施秉县| 玛多县| 犍为县| 孝义市| 垦利县| 新余市| 德钦县| 大新县| 连山| 桐庐县| 洱源县| 昔阳县| 苍溪县| 平乡县| 冀州市| 肥西县| 忻城县| 新田县| 麟游县| 正安县| 仪陇县| 潼南县| 犍为县| 黔西县| 昭觉县| 京山县| 漯河市| 上犹县| 临城县| 台北市| 迭部县| 德江县| 成武县| 保康县| 韶山市| 高台县| 克拉玛依市| 共和县| 祁阳县| 大港区| 嘉禾县|