UserAgent個人整理

什麼是UserAgent

User Agent中文名爲用戶代理 是Http協議中的一部分,屬於頭域的組成部分,User Agent也簡稱UA。用較爲普通的一點來說,是一種向訪問網站提供你所使用的瀏覽器類型、操作系統及版本、CPU 類型、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等信息的標識。用戶所訪問的網站可以顯示不同的排版從而爲用戶提供更好的體驗或者進行信息統計.UA字符串在每次瀏覽器 HTTP 請求時發送到服務器!

舉例UserAgent信息詳情

原文鏈接:https://blog.csdn.net/master_ning/article/details/81746879
現在,隨便拿出一個ua,

Mozilla/5.0 (Linux; U; Android 7.0;m2 note Build/LMY47D) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/5.0.2 MQQBrowser/6.7 Mobile/15A372 Safari/537.36
Mozilla/5.0,這個是固定寫法,一般都是寫這個,有很少一部分是寫,Mozilla/4.0

(Linux; U; Android 7.0;m2 note Build/LMY47D) 裏面就是安卓系統版本,手機型號

AppleWebKit/604.1.38,這個是處理器內核信息

(KHTML, like Gecko) Version/5.0.2,這給也是固定寫法

MQQBrowser/6.7,這個是瀏覽器信息以及版本信息

Mobile/15A372,這個代表該ua是移動設備,即手機,平板之類的

Safari/537.36,這個不是特別重要,可以不用攜帶

這裏更改瀏覽器信息,網站後臺相應信息就發生相應更改,目前測下來,手機端的Chrome瀏覽器,後臺無法正確捕捉到

java網上使用第三方包解析(一)

轉:網上使用第三方包解析(一)
UserAgent
引入pom:

  <dependency>
            <groupId>eu.bitwalker</groupId>
            <artifactId>UserAgentUtils</artifactId>
            <version>1.21</version>
        </dependency>

使用:返回的UserAgent對象就是解析後的

        UserAgent userAgent = UserAgent.parseUserAgentString(str);

UserAgentUtil的工具類官網:https://www.bitwalker.eu/software/user-agent-utils

java網上使用第三方包解析(二)

轉:https://blog.csdn.net/yushouling/article/details/55047093
引入依賴:

  	<dependency>
            <groupId>cz.mallat.uasparser</groupId>
            <artifactId>uasparser</artifactId>
            <version>0.6.0</version>
        </dependency>

        <dependency>
            <groupId>net.sourceforge.jregex</groupId>
            <artifactId>jregex</artifactId>
            <version>1.2_01</version>
        </dependency>

代碼:


import cz.mallat.uasparser.OnlineUpdater;
import cz.mallat.uasparser.UASparser;
import cz.mallat.uasparser.UserAgentInfo;
import eu.bitwalker.useragentutils.UserAgent;

import java.io.IOException;

public class UserAgentTest {

    static UASparser uasParser = null;

    static {
        try {
            uasParser = new UASparser(OnlineUpdater.getVendoredInputStream());
            // java.lang.UnsupportedClassVersionError:
            // cz/mallat/uasparser/UASparser : Unsupported major.minor version 51.0
            // 用jdk1.6測試時會報以上錯,需要jdk1.7以上版本支持
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        String str = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)";
        try {
            UserAgentInfo userAgentInfo = UserAgentTest.uasParser.parse(str);
            System.out.println("操作系統家族:" + userAgentInfo.getOsFamily());
            System.out.println("操作系統詳細名稱:" + userAgentInfo.getOsName());
            System.out.println("瀏覽器名稱和版本:" + userAgentInfo.getUaName());
            System.out.println("類型:" + userAgentInfo.getType());
            System.out.println("瀏覽器名稱:" + userAgentInfo.getUaFamily());
            System.out.println("瀏覽器版本:" + userAgentInfo.getBrowserVersionInfo());
            System.out.println("設備類型:" + userAgentInfo.getDeviceType());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

瀏覽器User-Agent的詳細信息

轉載部分常用的user-agent的例子:
PC端:

safari 5.1 – MAC
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50

safari 5.1 – Windows
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50

IE 9.0
User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;

IE 8.0
User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)

IE 7.0
User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

IE 6.0
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Firefox 4.0.1 – MAC
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

Firefox 4.0.1 – Windows
User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

Opera 11.11 – MAC
User-Agent:Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11

Opera 11.11 – Windows
User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11

Chrome 17.0 – MAC
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11

傲遊(Maxthon)
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)

騰訊TT
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)

世界之窗(The World) 2.x
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

世界之窗(The World) 3.x
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)

搜狗瀏覽器 1.x
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)

360瀏覽器
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)

Avant
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)

Green Browser
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

移動設備端:

safari iOS 4.33 – iPhone
User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5

safari ios 4.33 – iPod Touch
User-Agent:Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5

safari iOS 4.33 – iPad
User-Agent:Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5

Android N1
User-Agent: Mozilla/5.0 (Linux; U; android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Android QQ瀏覽器 For android
User-Agent: MQQBrowser/26 Mozilla/5.0 (linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

Android Opera Mobile
User-Agent: Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10

Android Pad Moto Xoom
User-Agent: Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13

BlackBerry
User-Agent: Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.337 Mobile Safari/534.1+

WebOS HP Touchpad
User-Agent: Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0

Nokia N97
User-Agent: Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124

Windows Phone Mango
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)

UC無
User-Agent: UCWEB7.0.2.37/28/999

UC標準
User-Agent: NOKIA5700/ UCWEB7.0.2.37/28/999

UCOpenwave
User-Agent: Openwave/ UCWEB7.0.2.37/28/999

UC Opera
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999

二、瀏覽器識別

1、IE瀏覽器(以IE 9.0 爲例)

PC端:User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;
移動設備:User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)

由於遨遊、世界之窗、360瀏覽器、騰訊瀏覽器以及搜狗瀏覽器、Avant、Green Browser均採用IE的內核,因此IE瀏覽器判斷的標準是”MSIE“字段,MSIE字段後面的數字爲版本號,但同時還需要判斷不包 含”Maxthon“、”The world“、”360SE“、”TencentTraveler“、”SE“、”Avant“等字段(Green Browser沒有明顯標識)。移動設備還需要判斷IEMobile+版本號。

2、360瀏覽器

PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; InfoPath.2; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; 360SE)
移動設備:暫無

360瀏覽器的判斷標準是”360SE”字段,沒有版本表示。

3、搜狗瀏覽器

PC端:User-Agent:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)
移動設備:暫無

搜狗瀏覽器的判斷標準是”SE“、”MetaSr“字段,版本號爲SE後面的數字。

4、Chrome

PC端:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11

移動設備:User-Agent: Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

PC端chrome瀏覽器的判斷標準是chrome字段,chrome後面的數字爲版本號;移動端的chrome瀏覽器判斷”android“、”linux“、”mobile safari“等字段,version後面的數字爲版本號。

5、Safari

PC端:User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50

移動設備:User-Agent:Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5

由於Chrome及Nokia’s Series 60 browser也使用WebKit內核,因此Safari瀏覽器的判斷必須是:包含safari字段,同時不包含chrome等信息,確定 後”version/“後面的數字即爲版本號。在以上條件下包含Mobile字段的即爲移動設備上的Safari瀏覽器。

6、騰訊瀏覽器

PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; TencentTraveler 4.0; .NET CLR 2.0.50727)

移動設備:User-Agent: MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1

騰訊瀏覽器的判斷標準是”TencentTraveler“或者”QQBrowser“,TencentTraveler或QQBrowser後面的數字爲版本號。

7、Firefox

PC端:User-Agent:Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1

移動設備:User-Agent: Mozilla/5.0 (Androdi; Linux armv7l; rv:5.0) Gecko/ Firefox/5.0 fennec/5.0

Firefox的判斷標準是Firefox字段,firefox後面的數字爲版本號。

8、The world

PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)

移動設備:暫無

Theworld瀏覽器的判斷標準是”The world“字段,沒有標示版本號。

需要注意的是:The world 2.x版本的User-Agent中沒有”The world“的字段。

9、遨遊

PC端:User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)

移動設備:暫無

遨遊瀏覽器的判斷標準是”Maxthon“,Maxthon後面的數字爲版本號。

10、Opera

PC端:User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11

移動設備:User-Agent: Opera/9.80 (Android 2.3.4; Linux; Opera mobi/adr-1107051709; U; zh-cn) Presto/2.8.149 Version/11.10

opera瀏覽器的判斷標準是opera字段,opera字段後面的數字爲版本號。

11、UC瀏覽器

UC Web有多種模式瀏覽方式,對應的User-Agent爲:

UC無
User-Agent: UCWEB7.0.2.37/28/999

UC標準
User-Agent: NOKIA5700/ UCWEB7.0.2.37/28/999

UCOpenwave
User-Agent: Openwave/ UCWEB7.0.2.37/28/999

UC Opera
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999

UC瀏覽器的判斷標準是”UCWEB“字段,UCWEB後面的數字爲版本號。

作者:大牧莫邪
鏈接:https://www.jianshu.com/p/da6a44d0791e
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章