Http Header之User-Agent

User-Agent中文名为用户代理,简称 UA,它是一个特殊字符串头。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问网页和电脑访问是不一样的,这些是网页根据访问者的UA来判断的。但是UA可以进行伪装。

浏览器的UA字串的标准格式:浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识版本信息。但各个浏览器有所不同。

1、浏览器标识

出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在 UA 字串尾部可以找到。

2、操作系统标识

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;Inter Mac OS X

Solaris

X11;SunOS i86pc

X11;SunOS sun4u

Windows

Windows NT 6.1

对应操作系统Windows 7

Windows NT 6.0

对应操作系统Windows vista

Windows NT 5.2

对应操作系统Windows 2003

Windows NT 5.1

对应操作系统Windows zp

Windows NT 5.0

对应操作系统Windows 200

Windows NT ME

Windows NT 98

移动设备端:

平台

标识

备注

iOS

iPhone OS 4_3_3

iPhone

iPhone OS 4_3_3

iPod

OS 4_3_3

iPad,注意仅是OS,没有i

Android

Android 2.3.7

后面数字为版本号

WebOs

HpwOS/3.0.0

SymbianOS

SymbianOS/9.4

Windows Phone OS

Windows Phone OS 7.5

BlackBerry

BlackBerry

3、加密等级标识

N: 表示无安全加密

I: 表示弱安全加密

U: 表示强安全加密

4、浏览器语言

可查看并修改浏览器的语言

5、渲染引擎

显示浏览器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式为:渲染引擎/版本信息

6、版本信息

显示浏览器的真实版本信息,格式为:浏览器/版本信息

浏览器User-Agent的详细信息(可采用下面的进行爬虫伪装)

1、IE浏览器

PC端:Win7+ie9:

User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; Tablet PC 2.0; .NET4.0E)

PC端:Win7+ie8:

User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3)

PC端:WinXP+ie8:

User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.0)

PC端:WinXP+ie7:

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

User-Agent:PC端:WinXP+ie6:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

移动设备: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端: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

移动设备: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端:QQ浏览器6.9(11079)在Win7+ie9,极速模式:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.41 Safari/535.1 QQBrowser/6.9.11079.201

PC端:QQ浏览器6.9(11079)在Win7+ie9,IE内核兼容模式:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E) QQBrowser/6.9.11079.201

移动设备: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端:傲游3.1.7在Win7+ie9,高速模式:

Mozilla/5.0 (Windows; U; Windows NT 6.1; ) AppleWebKit/534.12 (KHTML, like Gecko) Maxthon/3.0 Safari/534.12

PC端:傲游3.1.7在Win7+ie9,IE内核兼容模式:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)

移动设备:暂无

遨游浏览器的判断标准是”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后面的数字为版本号。

12、阿云浏览器

阿云浏览器1.3.0.1724 Beta(编译日期2011-12-05)在Win7+ie9:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

Http Header之User-Agent的更多相关文章

  1. Zabbix协议分析

    概述 Zabbix使用一种自定义的基于TCP的协议与客户端进行通信 Zabbix <- TCP -> Zabbix agent 协议内容 <HEADER> - bytes) & ...

  2. siege详解

    简介 siege是一款HTTP/FTP负载测试和基准压测工具   Download http://download.joedog.org/siege/siege-latest.tar.gz   安装 ...

  3. 【转】Flume(NG)架构设计要点及配置实践

    Flume(NG)架构设计要点及配置实践   Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Fl ...

  4. http协议之cookie标准RFC6265介绍

      [Docs] [txt|pdf] [draft-ietf-httpst...] [Diff1] [Diff2] [Errata] PROPOSED STANDARD Errata Exist In ...

  5. 解决一起web 页面被劫持的案例

    现象 江西客户手机端连接wifi打开URL,页面上显示淘宝店铺广告,使用手机移动网络打开正常,其他地区正常. 二. 处理过程 初步分析:3g.club项目使用了CDN,目前只有江西异常,其他地区无异常 ...

  6. zabbix自动化监控基础

    zabbix安装配置文档 2 一 zabbix-server 安装配置(基础配置) 2 二 zabbix agent安装配置 5 2.1 主动模式和被动模式 6 2.2 安装配置zabbix_agen ...

  7. (77)zabbix主动、被动检测的详细过程与区别

    zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的.简单说明一下主动与被动的区别如下: 主动:agent请求se ...

  8. 012-zabbix主动模式

    6.1 主动模式 zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的.简单说明一下主动与被动的区别如下: 主动: ...

  9. Python 爬虫 爬取图片入门

    爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 用户看到的网页实质是由 HTML 代码构成的,爬 ...

  10. CIA Hive Beacon Infrastructure复现1——使用Apache mod_rewrite实现http流量分发

    0x00 前言 2017年11月9日维基解密公布一个代号为Vault8的文档,包含服务器远程控制工具Hive的源代码和开发文档.开发文档中的框架图显示Hive支持流量分发功能,若流量有效,转发至Hon ...

随机推荐

  1. Web测试实践--Rec 2

    累计完成任务情况: 阶段内容 参与人 进行用户调研 小熊 开会学习作业要求,取得共识 全体 注: 1."阶段内容"划斜线表示完成.2.采用倒序. 具体情况: 小熊主要围绕以下几方面 ...

  2. jenkins+maven+svn实现简单的一键发布

    前言      在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具,      它可以做的事情很多,其中一个主要的功能就是简化部署流程          回想一下我们的发布流程:   ...

  3. 回归(regression)、梯度下降(gradient descent)

    本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇 ...

  4. 试题 B: 不同子串 蓝桥杯

    [问题描述]一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串.例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个.注意在计算 ...

  5. 螺旋折线——第九届蓝桥杯C语言B组(省赛)第七题

    原创 如图p1.png所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, 1)=3, ...

  6. MongoDB整理笔记のjava MongoDB分页优化

    最近项目在做网站用户数据新访客统计,数据存储在MongoDB中,统计的数据其实也并不是很大,1000W上下,但是公司只配给我4G内存的电脑,让我程序跑起来气喘吁吁...很是疲惫不堪. 最常见的问题莫过 ...

  7. 学习笔记之Struts2—工作原理图

    本文以Struts2的官方工作原理图作为主线讲解(参考部分书籍与视频) 1.初始概念 struts2是web.xml进行配置的一个过滤器,当web项目启动的时候,这个过滤器就会生效. 2.web.xm ...

  8. android hook getdeceiveid

    很多手机软件使用了手机绑定.QQ,微信等.如果使用了不同的设备,则需要验证码. 要用一台手机来模拟与另一台手机一样环境,估计hook 系统的相关函数可以实现. 想着应该有现成的软件的,例如 smart ...

  9. js常用的校验代码 (整理)

    /* 用途:检查输入手机号码是否正确 输入:str:字符串 返回:如果通过验证返回true,否则返回false */ function checkMobile(str){ var regu =/^[1 ...

  10. C++静态成员和非静态成员的区别和使用

    C++静态成员和非静态成员的区别和使用 对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员和静态方法. 只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进 ...