如何使用用户脚本欺骗我的 userAgent?
How can I spoof my userAgent using a userscript?
我正在尝试访问一个网站,但它不允许我这样做,因为它不支持我的浏览器。我相信它正在通过 userAgent 检测来检测我的浏览器。所以我想创建一个 userScript 来修改我的 userAgent,这样网站就无法检测到我的浏览器。我试过了:
// ==UserScript==
// @name Change UserAgent
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Spoofs the userAgent
// @author You
// @include *
// @run-at document-start
// ==/UserScript==
Object.defineProperty(navigator, 'userAgent', {
value: "MyCustomUserAgent",
configurable: false
});
尽管它向我表明 userAgent 是一个自定义值,但我相信在我可以欺骗它之前已经完成了对 userAgent 的请求。有没有什么方法可以不使用扩展名来做到这一点?谢谢。
初始 HTTP/s 连接建立后加载用户脚本,页面即将加载。
到那时,服务器已经收到了用户代理数据。因此,用户脚本无法欺骗服务器。
加载项可以拦截和更改浏览器与服务器之间的初始通信,从而欺骗用户代理。
使用自己服务器的网站(例如 Google、Yahoo、Facebook 等)可以访问他们的服务器,因此不太可能通过用户脚本欺骗他们(取决于其他因素)。
商业服务器上 运行 的网站可能无法访问上述服务器数据,必须使用 JavaScript 来获取用户代理,因此有可能欺骗用户代理.
类似地,使用稍后执行的页面 JavaScript 的网站(例如,在单击某项的事件时)以获取当时的用户代理,可以使用用户脚本进行欺骗。
我正在尝试访问一个网站,但它不允许我这样做,因为它不支持我的浏览器。我相信它正在通过 userAgent 检测来检测我的浏览器。所以我想创建一个 userScript 来修改我的 userAgent,这样网站就无法检测到我的浏览器。我试过了:
// ==UserScript==
// @name Change UserAgent
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Spoofs the userAgent
// @author You
// @include *
// @run-at document-start
// ==/UserScript==
Object.defineProperty(navigator, 'userAgent', {
value: "MyCustomUserAgent",
configurable: false
});
尽管它向我表明 userAgent 是一个自定义值,但我相信在我可以欺骗它之前已经完成了对 userAgent 的请求。有没有什么方法可以不使用扩展名来做到这一点?谢谢。
初始 HTTP/s 连接建立后加载用户脚本,页面即将加载。
到那时,服务器已经收到了用户代理数据。因此,用户脚本无法欺骗服务器。
加载项可以拦截和更改浏览器与服务器之间的初始通信,从而欺骗用户代理。
使用自己服务器的网站(例如 Google、Yahoo、Facebook 等)可以访问他们的服务器,因此不太可能通过用户脚本欺骗他们(取决于其他因素)。
商业服务器上 运行 的网站可能无法访问上述服务器数据,必须使用 JavaScript 来获取用户代理,因此有可能欺骗用户代理.
类似地,使用稍后执行的页面 JavaScript 的网站(例如,在单击某项的事件时)以获取当时的用户代理,可以使用用户脚本进行欺骗。