![Internet Explorer:编辑用户代理字符串,以便服务器可以看到它](https://linux22.com/image/1453483/Internet%20Explorer%EF%BC%9A%E7%BC%96%E8%BE%91%E7%94%A8%E6%88%B7%E4%BB%A3%E7%90%86%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%8C%E4%BB%A5%E4%BE%BF%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%AE%83.png)
操作系统:Windows 7/8
浏览器:Internet Explorer 11
平台:x86
我该如何在一台机器上编辑用户代理字符串,以便服务器端代码和 Web 服务器日志都能看到它?这需要一种永久的、可部署的解决方案,因此使用开发人员工具之类的方法可能不会长期有效。
我能够设置/修改 Internet Explorer 的用户代理字符串以便远程 Web 服务器能够看到它的唯一方法是使用以下注册表项\值:
Key: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Version
Value: SomeTestString
Data: NULL
以上显然是组策略设置所利用的内容Windows Components\Internet Explorer\Customize User Agent String
。
如果您添加如上所示的键/值,您的用户代理将显示为类似的Mozilla/5.0 (SomeTestString; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
不幸的是,这添加添加到用户代理字符串的自定义字符串,这会破坏许多 Google 网站和 Netflix(可能还有很多其他网站)
使用我发现的另一个注册表项/值将通过 JavaScript 查询显示用户代理字符串,但它不会出现在网站日志中(服务器不可见):
Key: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent
Value: SomeTestString
Data: NULL
如果您查看 Web 服务器的日志,您只会看到如下内容:Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
,但如果您点击使用 JavaScript 显示用户代理的页面,您会看到如下内容:Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; SomeTestString; rv:11.0) like Gecko
。
任何建议都值得感激,因为我被困在一个字符串中,如果使用这个字符串,某些网站就会崩溃。请注意,我们需要在用户代理字符串中指定自定义项,以支持我们无法控制的第三方平台。
答案1
答案2
您可以使用 IE 的“开发人员工具”。
只需按下F12来激活它。
在旧版本中,它位于工具菜单,更改用户代理字符串并对其进行自定义。
在较新的版本中,它位于仿真菜单。
经过一番研究,我找到了一些可以调整的注册表项部分UA 字符串。
A干净的Win7 上的 IE11 使用Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
Win8 使用NT 6.3
通常会在Touch
某处添加。
我认为那些默认值不能通过注册表更改,不过我认为你可以.NET
通过删除下面的条目来删除它添加的大部分内容和其他内容
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform]
只需考虑到compatibility mode
IE 也会更改 UA 字符串以显示以前的 IE 版本,以“强制”服务器认为它是compatibility mode
旧版本(我认为它使用 IE6 或 7),所以如果有人需要使用它来加载网页,那么你想要的大部分内容可能会变得毫无用处。