一、基礎知識篇:
HttpHeader之User-Agent
UserAgent中文名為用戶代理,是Http協議中的一部分,屬於頭域的組成部分,UserAgent也簡稱UA。它是一個特殊字符串頭,是一種向訪問網站提供你所使用的瀏覽器類型及版本、操作系統及版本、瀏覽器內核、等信息的標識。通過這個標識,用戶所訪問的網站可以顯示不同的排版從而為用戶提供更好的體驗或者進行信息統計;例如用手機訪問谷歌和電腦訪問是不一樣的,這些是谷歌根據訪問者的UA來判斷的。UA可以進行偽裝。
瀏覽器的UA字串的標准格式:瀏覽器標識(操作系統標識;加密等級標識;瀏覽器語言)渲染引擎標識版本信息。但各個瀏覽器有所不同。
字串說明:
1、瀏覽器標識
出於兼容及推廣等目的,很多瀏覽器的標識相同,因此瀏覽器標識並不能說明瀏覽器的真實版本,真實版本信息在UA字串尾部可以找到。
2、操作系統標識
FreeBSD X11;FreeBSD(version no.)i386
X11;FreeBSD(version no.)AMD64
Linux X11;Linux ppc
X11;Linux ppc64
X11;Linux i686
X11;Linux x86_64
Mac Macintosh;PPC Mac OS X
Macintosh;Intel Mac OS X
Solaris X11;SunOS i86pc
X11;SunOs sun4u
Windows Windows NT 6.1 對應windows7
Windows NT 6.0 對應windows Vista
Windows NT 5.2 對應windows 2003
Windows NT 5.1 對應windows xp
Windows NT 5.0 對應windows 2000
Windows ME
Windows 98
3、加密等級標識
N:表示無安全加密
I:表示弱安全加密
U:表示強安全加密
4、瀏覽器語言
在首選項>常規>語言中指定的語言
5、渲染引擎
顯示瀏覽器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式為:渲染引擎/版本信息
6、版本信息
顯示瀏覽器的真實版本信息,格式為:瀏覽器/版本信息
瀏覽器User-Agent的詳細信息
PC端:
safari5.1–MAC
User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50
safari5.1–Windows
User-Agent:Mozilla/5.0(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50
IE9.0
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;
IE8.0
User-Agent:Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0)
IE7.0
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0)
IE6.0
User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1)
Firefox4.0.1–MAC
User-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10.6;rv:2.0.1)Gecko/20100101Firefox/4.0.1
Firefox4.0.1–Windows
User-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1
Opera11.11–MAC
User-Agent:Opera/9.80(Macintosh;IntelMacOSX10.6.8;U;en)Presto/2.8.131Version/11.11
Opera11.11–Windows
User-Agent:Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11
Chrome17.0–MAC
User-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11
傲游(Maxthon)
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0)
騰訊TT
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TencentTraveler4.0)
世界之窗(TheWorld)2.x
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)
世界之窗(TheWorld)3.x
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TheWorld)
搜狗瀏覽器1.x
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)
360瀏覽器
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;360SE)
Avant
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;AvantBrowser)
GreenBrowser
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)
移動設備端:
safariiOS4.33–iPhone
User-Agent:Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5
safariiOS4.33–iPodTouch
User-Agent:Mozilla/5.0(iPod;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5
safariiOS4.33–iPad
User-Agent:Mozilla/5.0(iPad;U;CPUOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5
AndroidN1
User-Agent:Mozilla/5.0(Linux;U;Android2.3.7;en-us;NexusOneBuild/FRF91)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1
AndroidQQ瀏覽器Forandroid
User-Agent:MQQBrowser/26Mozilla/5.0(Linux;U;Android2.3.7;zh-cn;MB200Build/GRJ22;CyanogenMod-7)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1
AndroidOperaMobile
User-Agent:Opera/9.80(Android2.3.4;Linux;OperaMobi/build-1107180945;U;en-GB)Presto/2.8.149Version/11.10
AndroidPadMotoXoom
User-Agent:Mozilla/5.0(Linux;U;Android3.0;en-us;XoomBuild/HRI39)AppleWebKit/534.13(KHTML,likeGecko)Version/4.0Safari/534.13
BlackBerry
User-Agent:Mozilla/5.0(BlackBerry;U;BlackBerry9800;en)AppleWebKit/534.1+(KHTML,likeGecko)Version/6.0.0.337MobileSafari/534.1+
WebOSHPTouchpad
User-Agent:Mozilla/5.0(hp-tablet;Linux;hpwOS/3.0.0;U;en-US)AppleWebKit/534.6(KHTML,likeGecko)wOSBrowser/233.70Safari/534.6TouchPad/1.0
NokiaN97
User-Agent:Mozilla/5.0(SymbianOS/9.4;Series60/5.0NokiaN97-1/20.0.019;Profile/MIDP-2.1Configuration/CLDC-1.1)AppleWebKit/525(KHTML,likeGecko)BrowserNG/7.1.18124
WindowsPhoneMango
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsPhoneOS7.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
UCOpera
User-Agent:Mozilla/4.0(compatible;MSIE6.0;)Opera/UCWEB7.0.2.37/28/999
二、瀏覽器識別
1、IE瀏覽器(以IE9.0為例)
PC端:User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;
移動設備:User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsPhoneOS7.5;Trident/5.0;IEMobile/9.0;HTC;Titan)
由於遨游、世界之窗、360瀏覽器、騰訊瀏覽器以及搜狗瀏覽器、Avant、GreenBrowser均采用IE的內核,因此IE瀏覽器判斷的標准是”MSIE“字段,MSIE字段后面的數字為版本號,但同時還需要判斷不包含”Maxthon“、”Theworld“、”360SE“、”TencentTraveler“、”SE“、”Avant“等字段(GreenBrowser沒有明顯標識)。移動設備還需要判斷IEMobile+版本號。
2、360瀏覽器
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;InfoPath.2;.NET4.0C;.NET4.0E;.NETCLR2.0.50727;360SE)
移動設備:暫無
360瀏覽器的判斷標准是”360SE”字段,沒有版本表示。
3、搜狗瀏覽器
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)
移動設備:暫無
搜狗瀏覽器的判斷標准是”SE“、”MetaSr“字段,版本號為SE后面的數字。
4、Chrome
PC端:Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11
移動設備:User-Agent:Mozilla/5.0(Linux;U;Android2.2.1;zh-cn;HTC_Wildfire_A3333Build/FRG83D)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1
PC端chrome瀏覽器的判斷標准是chrome字段,chrome后面的數字為版本號;移動端的chrome瀏覽器判斷”android“、”linux“、”mobilesafari“等字段,version后面的數字為版本號。
5、Safari
PC端:User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50
移動設備:User-Agent:Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5
由於Chrome及Nokia’sSeries60browser也使用WebKit內核,因此Safari瀏覽器的判斷必須是:包含safari字段,同時不包含chrome等信息,確定后”version/“后面的數字即為版本號。在以上條件下包含Mobile字段的即為移動設備上的Safari瀏覽器。
6、騰訊瀏覽器
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;TencentTraveler4.0;.NETCLR2.0.50727)
移動設備:User-Agent:MQQBrowser/26Mozilla/5.0(Linux;U;Android2.3.7;zh-cn;MB200Build/GRJ22;CyanogenMod-7)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1
騰訊瀏覽器的判斷標准是”TencentTraveler“或者”QQBrowser“,TencentTraveler或QQBrowser后面的數字為版本號。
7、Firefox
PC端:User-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1
移動設備:User-Agent:Mozilla/5.0(Android;Linuxarmv7l;rv:5.0)Gecko/Firefox/5.0fennec/5.0
Firefox的判斷標准是Firefox字段,firefox后面的數字為版本號。
8、Theworld
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TheWorld)
移動設備:暫無
Theworld瀏覽器的判斷標准是”Theworld“字段,沒有標示版本號。
需要注意的是:Theworld2.x版本的User-Agent中沒有”Theworld“的字段。
9、遨游
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0)
移動設備:暫無
遨游瀏覽器的判斷標准是”Maxthon“,Maxthon后面的數字為版本號。
10、Opera
PC端:User-Agent:Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11
移動設備:User-Agent:Opera/9.80(Android2.3.4;Linux;Operamobi/adr-1107051709;U;zh-cn)Presto/2.8.149Version/11.10
opera瀏覽器的判斷標准是opera字段,opera字段后面的數字為版本號。
11、UC瀏覽器
UCWeb有多種模式瀏覽方式,對應的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
UCOpera
User-Agent:Mozilla/4.0(compatible;MSIE6.0;)Opera/UCWEB7.0.2.37/28/999
UC瀏覽器的判斷標准是”UCWEB“字段,UCWEB后面的數字為版本號。
操作系統定向
操作系統定向依賴於各個瀏覽器在打開頁面時所傳輸的httpheader信息中的User-Agent,關於User-Agent的說明,請參見Httpheader之User-Agent。
User-Agent的詳細信息,請參見瀏覽器User-Agent的詳細信息。
我們來了解User-Agent中的不同操作系統的識別方法。
PC端:
FreeBSD X11;FreeBSD(version no.)i386
X11;FreeBSD(version no.)AMD64
Linux X11;Linux ppc
X11;Linux ppc64
X11;Linux i686
X11;Linux x86_64
Mac Macintosh;PPC Mac OS X
Macintosh;Intel Mac OS X
Solaris X11;SunOS i86pc
X11;SunOs sun4u
Windows Windows NT 6.1 對應windows7
Windows NT 6.0 對應windows Vista
Windows NT 5.2 對應windows 2003
Windows NT 5.1 對應windows xp
Windows NT 5.0 對應windows 2000
Windows ME
Windows 98
移動設備端:
iOS iPhone OS 4_3_3 iPhone/iPod
OS 4_3_3 iPad
Android Android 2.3.7 后面數字為版本號
WebOs hpwOS/3.0.0
SymbianOS SymbianOS/9.4
Windows Phone OS Windows Phone OS 7.5
BlackBerry BlackBerry
轉自:https://blog.csdn.net/u012175089/article/details/61199238