Configuración de un agente de usuario personalizado en HTML o JavaScript

¿Hay alguna manera de hacer esto? Estoy intentando enviar una solicitud GET a un sitio web, pero quiero personalizar mi UserAgent. ¿Hay alguna manera de hacer esto en HTML puro y JavaScript? Me gustaría que todo se ejecute localmente.

Esto es trabajo para mí.

Object.defineProperty(navigator, 'userAgent', { get: function () { return 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)'; } }); 

Es una versión actualizada de la respuesta de code4coffee, ya que Object.prototype.__defineGetter__() está en desuso: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/ defineGetter

Puedes hacer esto mediante progtwigción mediante progtwigción (este ejemplo simula Firefox):

 navigator.__defineGetter__('userAgent', function () { return "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)" }); navigator.__defineGetter__('appName', function () { return "Netscape" }); 

Luego puede ver los cambios en la consola a través de (y, por supuesto, verificarlos a través de Javascript):

 navigator.userAgent navigator.appName 

Aquí hay un ejemplo de una prueba que debería funcionar (usando Jasmine):

 describe("isUserAgentInternetExplorer", function () { it("should return false for Firefox", function () { navigator.__defineGetter__('userAgent', function () { return "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0)" }); navigator.__defineGetter__('appName', function () { return "Netscape" }); //your code here... expect(...your code here...).toEqual(false); }); }); 

Si está utilizando un XMLHttpRequest, puede establecer un encabezado de solicitud personalizado como:

 var xhr = new XMLHttpRequest(...); xhr.setRequestHeader("User-Agent","test"); 

Nunca cambiará un agente de usuario en HTML, html es el mensaje no messenger.

De hecho, puedes hacerlo con un código javascript, pero es peligroso si alguna vez lo implementas en producción.

Es mucho más seguro usar un agente de conmutación:

https://addons.mozilla.org/fr/firefox/addon/user-agent-switcher/

https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg