如何修改IE的User Agent?
Thursday, August 27th, 2009如何修改IE的User Agent呢?先看看在WinXP中IE的User Agent默认生成顺序如下:
IE6缺省的标识为:User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
其它四个标识为:
Mozilla/4.0 – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\(Default)
compatible – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Compatible
MSIE 6.0 – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Version
Windows NT 5.1 – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Platform
比如你看的一个HTTP头里的User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)
比起上面缺省标示多了3项:SV1; Maxthon; .NET CLR 1.1.4322
其中前面两项是放在这里面的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform
其中SV1是XP SP2加上去的,因为SP2加了一些安全特性(如防火墙,安全中心什么的),SV1表示Security Version 1。Maxthon加上的一项就不用说了。
最后一项(.NET CLR 1.1.4322)是放在这里面的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
这个自然是安装.NET Framework后加上的。
注意这里的Post Platform都只用注册表键名就可以了,不用设置键值。
IE启动的时候就会依序读取以上注册表键,然后拼起来就可以生成User-Agent字符串了
这个User-Agent字符串会被IE保留在内存中,每次发送HTTP请求的时候加上。所以IE只有启动的时候才会读取这些注册表键,如果你修改了某项,需要关掉IE重开才能生效。