Internet Explorer: edición de la cadena del agente de usuario para que la vea el servidor

Internet Explorer: edición de la cadena del agente de usuario para que la vea el servidor

SO: Windows 7/8
Navegador: Internet Explorer 11
Plataforma: x86

¿Cómo puedo editar la cadena del agente de usuario en una máquina para que sea vista universalmente por el código del lado del servidor y los registros del servidor web? Esta debe ser una solución permanente e implementable, por lo que es probable que algo como usar las herramientas de desarrollo no funcione a largo plazo.

La única forma en que he podido configurar/modificar una cadena de agente de usuario para Internet Explorer para que sea vista por un servidor web remoto es usar la siguiente clave/valor de registro:

Key:   HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Version
Value: SomeTestString
Data:  NULL

Lo anterior es lo que aparentemente utiliza la configuración de Política de grupo Windows Components\Internet Explorer\Customize User Agent String.

Si agrega la clave/valor como se muestra arriba, su agente de usuario aparecerá como algo como Mozilla/5.0 (SomeTestString; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko Desafortunadamente, estoanteponela cadena personalizada que agrega a la cadena del agente de usuario, que interrumpe muchos sitios de Google y Netflix (y probablemente muchos más)

El uso de otra clave/valor de registro que encontré mostrará la cadena del agente de usuario a través de una consulta de JavaScript, pero no aparece en los registros del sitio web (no es visible para el servidor):

Key:   HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent
Value: SomeTestString
Data:  NULL

Si miras los registros del servidor web, solo verás algo como esto: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko, pero si accedes a una página que usa JavaScript para mostrar el agente de usuario, verás algo como esto: 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.

Se agradece cualquier consejo, ya que estoy atrapado con una cuerda que rompe algunos sitios si se utiliza. Tenga en cuenta que necesitamos especificar un elemento personalizado en la cadena del agente de usuario para admitir una plataforma de terceros que no podemos controlar.

Respuesta1

Esto fue posible enun momento en el tiempo, pero la característica ha quedado obsoleta y ya no es compatible directamente.

La diferencia entre la cadena de agente de usuario informada durante la negociación HTTP ("vista por el servidor") y el valor informado a través de la propiedad DOM es un cambio deliberado diseñado (en parte) para hacer frente a las personas que sobrecargan la cadena de agente de usuario enprecisamente de esta manera.

El primer artículo describe un conjunto de valores de registro que ajustaron la cadena del agente de usuario DOM al mismo tiempo; Es posible que la configuración de la plataforma de publicación siga funcionando. Debería ajustar la configuración de todas las máquinas cliente que ejecutan la herramienta.

Si los cambios en la plataforma de publicación no funcionan, deberá considerar un enfoque diferente, tal vez uno que utilice unestrategia multiplataforma.

Espero que esto ayude...

-- Lanza

Respuesta2

Puede utilizar las "herramientas de desarrollo" de IE.

Sólo presioneF12para activarlo.

  • En versiones anteriores, está bajo elherramientasmenú,cambiar la cadena del agente de usuarioy personalizarlo.

  • En los más nuevos, está bajo elemulaciónmenú.


Después de investigar un poco, localicé algunas entradas de registro que puedes modificar para cambiarlas.partede la cadena UA.

AlimpioUsos de IE11 en Win7Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

Win8 usa NT 6.3un normalmente agrega un Touchen algún lugar.

creo que esospor defectoLos valores no se pueden cambiar mediante el registro; sin embargo, creo que podría deshacerse de la mayoría de las .NETcosas que se agregan eliminando las entradas en

  • [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]

Sólo tenga en cuenta que compatibility modeen IE también cambia la cadena UA para mostrar una versión anterior de IE para "forzar" al servidor a pensar en ello.esuna versión anterior (creo que usa IE6 o 7), por lo que tal vez la mayor parte de lo que desea se vuelva inútil si alguien necesita usarlo compatibility modepara cargar una página web.

información relacionada