HTTP中的user-agent

224 阅读3分钟

user-agent(UA) 用户代理

定义

user-agent是HTTP协议中请求头所携带的字段,使得服务器能够识别客户使用的操作系统以及版本、CPU类型、浏览器以及版本、浏览器渲染引擎、浏览器语言和浏览器插件等。

在网络请求中,user-agent是标明身份的一种标识,通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计。手机端和电脑端访问网页的展示是不一样的,这些事谷歌根据访问者的UA来判断的。此外,UA可以进行伪装。

常见的UA

浏览器UA的标准格式为: 浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识 版本信息 PC端

Chrome浏览器:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Safari浏览器:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6
Firefox浏览器:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:58.0) Gecko/20100101 Firefox/58.0
QQ浏览器:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36 QQBrowser/4.3.4986.400
Edge浏览器:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/13.10586
IE11:
Mozilla/5.0 (Windows NT 6.3; Win64, x64; Trident/7.0; rv:11.0) like Gecko
IE10:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)

Mobile端

Safari浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 Mobile/15D100 Safari/604.1
Chrome浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) CriOS/64.0.3282.112 Mobile/15D100 Safari/604.1
QQ内置浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 QQ/7.5.0.407 V1_IPH_SQ_7.5.0_1_APP_A Pixel/750 Core/UIWebView Device/Apple(iPhone 7) NetType/WIFI QBWebViewType/1
QQ浏览器:
Mozilla/5.0 (iPhone 91; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0 MQQBrowser/8.0.2 Mobile/15D100 Safari/8536.25 MttCustomUA/2 QBWebViewType/1 WKType/1
UC浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X; zh-CN) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/15D100 UCBrowser/11.8.8.1060 Mobile AliApp(TUnionSDK/0.1.20.2)
WeChat内置浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 MicroMessenger/6.6.3 NetType/WIFI Language/zh_CN
Baidu浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11. Mobile/15D100 Safari/600.1.4 baidubrowser/4.13.0.16 (Baidu; P2 11.2.6)
Sougou浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 SogouMobileBrowser/5.11.10
 Weibo内置浏览器:
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 Weibo (iPhone9,1__weibo__8.2.0__iphone__os11.2.6)

用户代理历史

UA价值分析

1 用来识别是否爬虫 Usser-Agent的值是用来帮助服务器识别用户使用的操作系统、浏览器、浏览器版本等信息的,因此也常被用来检测爬虫。许多网站会ban掉来自爬虫的请求,来达到反爬的目的。

正常浏览器的User-Agent值为:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0

使用爬虫请求网页,使用requests的GET直接请求,默认User-Agent为:python-requests/2.18.4

服务器可以轻易识别出该请求是否来自爬虫。因此为了减小爬虫被ban的几率,我们可以通过设置请求的User-Agent来达到欺骗服务器的目的。

2.用来判断是否虚假设备:

UA是用户的一种标识,带有浏览器设备等信息,但是UA信息可以篡改,如果某一时间某一地域大批量UA聚集或者说UA标识信息和设备信息不同,可以细分查看是否是虚假设备。