Internet Explorer: редактирование строки User Agent, чтобы она была видна серверу

Internet Explorer: редактирование строки User Agent, чтобы она была видна серверу

ОС: Windows 7/8
Браузер: Internet Explorer 11
Платформа: x86

Как мне отредактировать строку агента пользователя на машине, чтобы она была видна всем серверным кодом и журналами веб-сервера? Это должно быть постоянное, развертываемое решение, поэтому что-то вроде использования Developer Tools, скорее всего, не будет работать в долгосрочной перспективе.

Единственный способ, с помощью которого мне удалось установить/изменить строку пользовательского агента для Internet Explorer так, чтобы ее видел удаленный веб-сервер, — это использовать следующий ключ\значение реестра:

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

Если вы посмотрите журналы веб-сервера, вы увидите только что-то вроде этого: 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

Это было возможно водин момент времени, но эта функция устарела и больше не поддерживается напрямую.

Разница между строкой агента пользователя, сообщаемой во время согласования HTTP («видимой сервером»), и значением, сообщаемым через свойство DOM, является преднамеренным изменением, разработанным (отчасти) для того, чтобы справиться с перегрузкой строки агента пользователя вименно эта мода.

В первой статье описывается набор значений реестра, которые в свое время корректировали строку агента пользователя DOM; возможно, что настройки Post Platform продолжат работать. Вам нужно будет настроить параметры для всех клиентских машин, на которых запущен инструмент.

Если изменения в почтовой платформе не сработают, вам придется рассмотреть другой подход, возможно, с использованиемкроссплатформенная стратегия.

Надеюсь это поможет...

-- Лэнс

решение2

Вы можете использовать «инструменты разработчика» из IE.

Просто нажмитеФ12чтобы активировать его.

  • В более старых версиях он находится подинструментыменю,изменить строку агента пользователяи настройте его.

  • На более новых моделях он находится подэмуляцияменю.


После некоторых исследований я нашел несколько записей реестра, которые можно изменить, изменив ихчастьстроки UA.

АчистыйIE11 на Win7 использует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 modeIE также изменяет строку UA, чтобы показать предыдущую версию IE, чтобы «заставить» сервер думать, что этоявляетсяболее старая версия (я думаю, она использует IE6 или 7), поэтому, возможно, большая часть того, что вам нужно, окажется бесполезной, если кому-то понадобится compatibility modeзагрузить веб-страницу.

Связанный контент