什么是UserAgent
顾名思义,即用户 代理,简称UA,它是一个特殊的HTTP头域,使得服务器端能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。通过这个标识,用户所访问的网站可以显示不同的排版,进行不同的行为偏好设置,为用户提供更好的体验或者进行信息统计。通过修改useragent,你还可以完美的伪装:操作系统、浏览器、蜘蛛、邮件客户端、链接检查、分析器、RSS 阅读器等客户端的信息。
通过http://www.useragentstring.com/查看你的useragent,当然自己写一个web小脚本来输出useagent也是很容易的。
1 2 3 |
<?php echo $_SERVER['HTTP_USER_AGENT']; ?> |
我的各浏览器useragent:
火狐useragent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0
Safari:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0.2 Safari/602.3.12
Chrome:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36
UserAgent 用途
- 信息统计
- 服务器针对不同useragent显示或隐藏不同内容,电脑浏览器与安卓与iOS移动设备显示不同效果。
- 客户端通过修改useragent来模拟其他浏览环境达到目的,比如很多不友好的网站只能使用ie进行访问,但是很多mac用户并没有ie,电脑访问wap网页。
- 客户端爬虫伪装,常常可以与referer配合使用
- 服务端使用useragent进行识别是否是用户操作,防止机器重复操作。当然还需要增加其他判断,否则很容易被模拟伪装
- 为不同的搜索引擎蜘蛛展示不同的内容
UserAgent 含义剖析
标准格式为: 浏览器标识 (操作系统标识; 加密等级标识; 浏览器语言) 渲染引擎标识 版本信息
浏览器标识 | 由于很多网站在进行 UA 检测的时候忽略了两位数版本号,所以可能造成 浏览器及之后版本收到糟糕的页面,因此自 浏览器 10 之后的版本中浏览器标识项固定为 “浏览器”,在 UA 字串尾部添加真实版本信息。 |
操作系统标识 | FreeBSD
X11; FreeBSD (version no.) i386 Linux X11; Linux ppc Mac Macintosh; PPC Mac OS X Solaris X11; SunOS i86pc Windows: Windows |
加密等级标识 | N: 表示无安全加密 I: 表示弱安全加密 U: 表示强安全加密 |
浏览器语言 | 在浏览器中设置的指定的语言或者系统的语言。 |
渲染引擎 | Presto/版本号,WebKit/版本号,Gecko/版本号 |
版本信息 | 显示 浏览器 真实版本信息,格式为: Version/版本号,Chrome/ChromeVersion Safari/SafariVersionChrome |
UserAgent 修改
修改useragent的方式有很多,但是万变不离其宗。大体上有以下几类修改方式。
注册表修改
“HKEY_CURRENT_USER”Software”Microsoft”Windows”CurrentVersion”Internet Settings”5.0″User Agent”Post Platform”
“HKEY_LOCAL_MACHINE”SOFTWARE”Microsoft”Windows”CurrentVersion”Internet Settings”User Agent”Post Platform”
“HKEY_LOCAL_MACHINE”SOFTWARE”Microsoft”Windows”CurrentVersion”Internet Settings”5.0″User Agent”Post Platform”
如要修改IE的UserAgent为FireFox的,可以这么做:
UserAgent的默认值改为”Firefox”,同时在Post Platform下面新建字符串值”Firefox”=””,注意修改后需重启IE。
浏览器修改
浏览器类型 | 修改方法 |
Firefox | 修改配置:
在地址栏输入“about:config”,按下回车进入设置菜单。 响应式设计模式: 在开发者选项,响应式设计模式中,除了可以调整预览尺寸外,也可以自定义useragent 使用第三方: User Agent Switcher插件修改 |
Opera | 修改配置:
1.在地址栏输入“opera:config”,回车打开。 0 Default 设置中修改: 1.工具栏“Tools”->“Preferences”->“Content”->“Advenced”,点击“Manage Site Preferences”按钮。 |
Maxthon | 工具栏“工具”->“遨游设置中心”->“高级选项”,勾选“自定义 UserAgent 字符串”,下面写上自己的UserAgent记可。保存设置后重启Maxthon生效。 |
Chrome | 早期的Chrome直接可以再开发者模式修改,担心最新版本已经去掉。只能用User Agent Switcher插件可视化修改了。
启动参数 启动时加上参数:-user-agent="UserAgent" 可以在Windows的【开始】–>【运行】中输入以下命令 chrome.exe --user-agent="User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0" 或者Google Chrome快捷方式->右键"属性"->选项卡"快捷方式"->目标,在chrome.exe后追加-user-agent="UserAgent" |
Safari | 1.菜单栏“Preferences/首选项”->“Advanced/高级”,勾选“Show Develop menu in menu bar/在菜单栏中显示“开发”菜单”。 2.菜单栏会多出一项“Develop/开发”,通过里面的“User Agent/用户代理”Safari默认提供了些,可以点击其他输入自己的useragent。 |
程序代码强制设置
java
1 |
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"); |
iOS
1 2 3 |
NSString *userAgent = @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0"; NSDictionary *dictionary =@{@"UserAgent":userAgent}; [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; |
PHP
1 2 3 4 5 6 7 |
<?php $UserAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0' $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, ‘http://xxx.com/xxx’); curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent); $data = curl_exec($curl); ?> |
Curl
1 |
curl --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Firefox/52.0" --referer 'http://www.baidu.com/' -I http://www.xxx.com/ |
常用的UserAgent
Android
Name | User Agent |
---|---|
Nexus 7 (Tablet) | Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19 |
Samsung Galaxy S3 (Handset) | Mozilla/5.0 (Linux; U; Android 4.0.4; en-gb; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
Samsung Galaxy Tab (Tablet) | Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 |
Firefox
Name | User Agent |
---|---|
Firefox on Android Mobile | Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0 |
Firefox on Android Tablet | Mozilla/5.0 (Android; Tablet; rv:14.0) Gecko/14.0 Firefox/14.0 |
Firefox on Mac | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0 |
Firefox on Ubuntu | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20130331 Firefox/21.0 |
Firefox on Windows | Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0 |
Google Chrome
Name | User Agent |
---|---|
Chrome on Android Mobile | Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19 |
Chrome on Android Tablet | Mozilla/5.0 (Linux; Android 4.1.2; Nexus 7 Build/JZ054K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19 |
Chrome on Mac | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36 |
Chrome on Ubuntu | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Ubuntu/11.10 Chromium/27.0.1453.93 Chrome/27.0.1453.93 Safari/537.36 |
Chrome on Windows | Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36 |
Chrome on iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_4 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/27.0.1453.10 Mobile/10B350 Safari/8536.25 |
Internet Explorer
Name | User Agent |
---|---|
Internet Explorer 6 | Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 5.2) |
Internet Explorer 7 | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) |
Internet Explorer 8 | Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0) |
Internet Explorer 9 | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) |
Internet Explorer 10 | Mozilla/5.0 (compatible; WOW64; MSIE 10.0; Windows NT 6.2) |
Opera
Name | User Agent |
---|---|
Opera on Mac | Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.9.168 Version/11.52 |
Opera on Windows | Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.229 Version/11.62 |
Other
Name | User Agent |
---|---|
BlackBerry - Playbook 2.1 | Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML, like Gecko) Version/7.2.1.0 Safari/536.2+ |
MeeGo - Nokia N9 | Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13 |
Safari
Name | User Agent |
---|---|
Safari on Mac | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27 |
Safari on Windows | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27 |
Safari on iPad | Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 |
Safari on iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 |
Spider / Bot
Name | User Agent |
---|---|
BingBot (Bing's spider) | Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) |
Googlebot (Google's spider) | Googlebot/2.1 (+http://www.googlebot.com/bot.html) |
Slurp! (Yahoo's spider) | Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) |
Windows Phone
Name | User Agent |
---|---|
Windows Phone 7 | Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; LG; GW910) |
Windows Phone 7.5 | Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; SGH-i917) |
Windows Phone 8 | Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) |
iOS
Name | User Agent |
---|---|
iPad | Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 |
iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3 |
iPod | Mozilla/5.0 (iPod; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3A101a Safari/419.3 |
转载请注明:天狐博客 » UserAgent用户标识详解与应用