用户代理识别——wiki中的解释
当一个软件代理运行于一个网络协议时,它通常通过向它的 operating peer 提交一个特征识别的字符串以标识它自己,它的应用类型,操作系统,软件供应商,或者软件修订版本。在 HTTP, SIP 以及 SMTP/NNTP[2] 协议中,这个识别是通过 user-agent 头字段传送的。网络机器人,例如网络抓取工具,通常也包括一个 URL 以及/或一个电子邮件地址以便网站管理员可以联系 bot 的操纵者。
在 HTTP 中,User-Agent 字符串通常被用於内容协商,而原始服务器为该响应选择适当的内容或操作参数。例如,User-Agent 字符串可能被网络服务器用以基于特定版本的客户端软件的已知功能选择适当的变体。
用户代理字符串是网络抓取工具通过使用 robots.txt 文件以从对网站的某些部分的访问中被排除的标准之一。
另外的解释
根据UA,可以向用户提供适合于他的机器的相关服务,如大小合适的图片,格式准确的铃声等。
用户代理字符串的格式目前被RFC 2616 (HTTP/1.1)的 Section 14.43 所指定。在 HTTP 中,用户代理字符串的格式是产品标记(关键字)和可选的注释所组成的一个列表。例如如果你的产品叫做 WikiBrowser, 你的用户代理字符串就可能是 WikiBrowser/1.0 Gecko/1.0。「最重要的」产品组件被最先列出。这个字符串的部分如下所示:
但不幸的是,在浏览器大战期间,很多网络服务器被配置为只给被识别为某些版本的 Mozilla 的客户端发送需要高级功能的网页。
由于这个原因,绝大多数网页浏览器使用的 User-Agent 值如下:Mozilla/[version] ([system and browser information]) [platform] ([platform details]) [extensions]}}
。例如,iPad 上的 Safari 使用的就是下述:
Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
通过手机型号查找相应UA信息工具
http://www.tera-wurfl.com/explore/search.php?action=browse
输入手机型号,然后点击“search device”,即可查找到相应机型的UA信息啦!实乃移动开发利器,居家旅行必备呀~
修改浏览器的User-Agent来伪装你的浏览器和操作系统
既然是人为规定的协议,那么就是说不管什么浏览器,默认的UA都是可以更改的。有时候为了达到一些不可告人的目的,我就经常需要更改一下UA的设置,比如伪装一下浏览器类型,比如把浏览器伪装成手机上网。
得到HTTP_USER_AGENT 的方法很简单,比如php代码:
<?php print_r($_SERVER); ?> <?php print_r($_SERVER['HTTP_USER_AGENT']); ?>
这两种都可以得到User-Agents和IP等信息,最好配合正则表达式,对信息进行筛选剔除。
-------------- User-Agents列表-------------
Internet Explorer 6
Internet Explorer 7
Internet Explorer 8
Firefox
Chrome
Safari
Netscape
Opera
Maxthon
360SE
OmniWeb
更多的User-Agents信息尽在useragents.xml
有了这个文件中的信息,什么样的浏览器和操作系系统都能伪装出来。
使用User-Agents的方法:
FireFox:[推荐使用User-Agent switcher 这个火狐扩展]
地址栏键入:about:config 回车
设置:general.useragent.override-->自定义的 UA 信息 。
Chrome
启动EXE图标属性中加上启动参数:--user-agent="UA信息" 即可。
Safari
菜单栏->Edit->Preferences->Advanced->Show Develop menu in menu bar;
菜单栏->Develop->User-Agent->UA信息。
Maxthon
工具栏->工具->遨游设置中心->高级选项->自定义UA信息。
Opera
地址栏键入:opera:config 回车
设置:User-Agent->自定义ID 0—5
注: [0 Default 1 Opera 2 Mozilla, Opera detectable 3 Internet Explorer, Opera detectable 4 Mozilla, Opera hidden 5 Internet Explorer, Opera hidden ]
iPhone
替换 /System/Library/Frameworks/WebKit.framework/WebKit 这个文件的 Mozilla/5.0字符串 为自定义UA信息
IE浏览器的设置需要修改注册表
User-Agent在注册表的位置
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User-Agent\Post Platform] 下,新建字符串值,内容留空,名字为你想在 User-Agent 中加入的字符,这里以 "motorolarokre2"为例。修改注册表对应的 REG 文件如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User-Agent\Post Platform]
"motorolarokre2"=""
修改后重启IE浏览器即可。
IE的user-agent取值,下面是下列地址的组合+一些默认值
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\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
IE8的User-Agents:
IE8 on Windows Vista (兼容浏览)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0)
IE8 on Windows Vista
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
IE8 on Windows 7
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
64-bit IE on 64-bit Windows 7:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0)
32-bit IE on 64-bit Windows 7:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0)
在IE9中已经可以直接通过开发人员工具来对浏览器的 User-Agent 信息进行修改和切换。方法如下:
打开IE9,按下 F12 键,打开开发人员工具以后,单击“工具”,选择“更改用户代理字符串”,从列表中选择想要使用的浏览器 User-Agent。
我们可以通过打开下面的检测网页,来检测浏览器当前的 User-Agent 字符串信息:
http://www.iefans.net/wp-demo/User-Agent.html
该列表中为我们提供了IE6/IE7/IE8等选项,同时还提供了Chrome/Firefox/Opera主流浏览器的选项,如果这里没有你想要的浏览器 User-Agent,你也可以自定义目标浏览器的 User-Agent 添加至该列表中。
单击列表中的“自定义”,在打开的窗口中,“友好名称”中输入 User-Agent 相应的名称,“用户代理字符串”中输入 User-Agent 字符串信息,在单击“添加”即可。
现在便可以在列表中选择添加的自定义浏览器 User-Agent 代理字符串了。
为了方便大家进行修改,useragents.xml 中为大家提供了常见浏览器的 User-Agent 字符串列表。
通过修改User-Agent,你还可以完美的伪装:操作系统、浏览器、蜘蛛、邮件客户端、链接检查、分析器、RSS 阅读器等客户端的信息。