我可以只为一个网站切换User-Agent标头吗?


19

我必须使用特定的网站来工作,但是该网站会检查我是否正在使用Internet Explorer,否则,将不允许我登录。我可以使用User切换User-Agent标头Agent Switcher Firefox插件和网站运行正常,但是我真的不想每次访问该网站时都切换标题,也不想我的User-Agent标题永久地说我正在使用IE。

我在Linux上,因此不幸的是,实际上切换到IE并不是一个选择。

有没有办法为Firefox或Chrome中的特定网站定义特定的User-Agent?

Answers:


15

Chrome扩展程序User-Agent Switcher具有一个Permanent Spoof列表,您可以在其中为某些域设置特定的用户代理。

组态

  1. 将扩展程序添加到Chrome。

  2. 打开chrome-extension://djflhoibgkdhkhhcedjiklpkjnoahfmg/options.html

  3. 点击Permanent Spoof list

  4. 输入特定网站的域,选择所需的用户代理,然后单击Add

屏幕截图


8

在Firefox 25之前,可以将其设置general.useragent.override.[domain]为自定义UA字符串。不幸的是,此功能已在Firefox 25中删除

现在,要获取每个站点的UA字符串,可以安装UAControl以及User-Agent JS Fixer。第一个插件会修改User-Agent每个站点的请求标头,但不会navigator.userAgent修改UA嗅探中经常使用字符串。第二个附加组件通过覆盖对第一个附加组件进行补充navigator.userAgent

由于已经安装了Greasemonkey,并且我定位的站点仅使用客户端User-Agent嗅探,因此我决定编写一个小的用户脚本来更改navigator.userAgent此特定站点:

// ==UserScript==
// @name        Change navigator.userAgent
// @namespace   Rob W
// @description Changes navigator.userAgent to IE on IEGallery.com
// @match       http://www.iegallery.com/*
// @run-at      document-start
// @grant       none
// @version     1
// ==/UserScript==

Object.defineProperty(navigator, 'userAgent', {
    value: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'
});

在Firefox 26.0中像超级按钮一样工作。


我将其更改为与facebook.com和youtube.com匹配,但是没有用。我听说您无法通过userscript更改用户代理,因为它仅在网站加载后生效,而有关用户代理的信息应事先发送。这是真的?
Ooker '17

7

对于Firefox,有UAControlua-site-switch扩展,它们允许在每个站点上设置User-Agent标头。选择其中之一,正如Rob W指出的那样,您还需要安装User-Agent JS Fixer


您知道它是否适用于每个站点或每个域吗?我正在尝试匹配google.com/search,但是它不起作用,但是谷歌可能正在做一些基于JS的检查。
njsg 2013年

看起来您能够为子域应用特定的规则,因此问题的答案取决于“站点”的定义。无论如何,尝试匹配“ google.com/search”将需要路径匹配,这超出了站点和域匹配的范围。在这种情况下,可能还有另一种适合您需求的解决方案,但这取决于您要实现的目标。
古肯·帕普斯特

好吧,那就行不通了。最终在www.google.com上这样做,这也会影响日历。我想要的是更改用于Google Web和图像搜索的用户代理,以便它改用非AJAXy后备版本。他们的搜寻确实有效地存在于google.com/search。但是我想会有更多的情况比域匹配更有用。有太多站点没有自己的域,或者在同一域下提供完全独立的服务。
njsg

我同意您的看法,这将是一个不错的奖励,但它可能难以实施,并且可能使许多用户感到困惑。关于您的搜索问题:webapps.stackexchange.com/questions/6809/…是否可以接受?另一种方法是使用某些国家或地区代码域进行搜索,例如google.ch。
Gurken Papst 2013年

3

您可以使用许多扩展名,这些扩展名可以通过自动检测FF网站的IE设置来起作用。

IE TabV2

更新的,完全支持的IE选项卡。将IE嵌入Firefox标签。
IE Tab功能:FF 4+支持,IE 7-9兼容模式,旧的IE Tab设置导入。IE Tab支持工行和支付宝

IE Tab Plus

原始IE-Tab(也适用于IE8,IE9)

支持带有IE中的Adblock Plus的IE Tab增强版。它还允许您从IE选项卡导入设置,并在IE和Firefox之间同步cookie。

仅IE-Tab支持FF4及更高版本


该死,击败我。;)+1也比我更彻底。
techturtle 2012年

1

您可以使用IE-tab之类的插件,该插件实际上将在Firefox中使用IE DLL,因此该页面不仅会认为您正在使用IE,而且会呈现相同的外观。可以将其设置为在您访问特定页面时自动应用,以便在需要IE的网站以外的所有内容上获得Firefox渲染。


+1感谢您的建议,但我已禁用IE,因此我不确定这是否适合我。
nikhil 2012年

0

这是我在FireFox中所做的事情:

  1. 使用UserAgentSwitcher插件欺骗自己作为iPhone。访问过的网站我一直想加载其移动版本,并且它会自动加载该移动版本。

  2. 在网站的移动页面上添加书签。

  3. 将UAcontrol Addon设置为在网站上使用iphone useragent。

  4. 关闭UserAgentSwitcher。

当我从常规书签启动网站时,它将使用常规网站。当我从移动版本书签启动网站时,它使用的是移动版本。

因此... UserAccountSwitcher功能本地化到一个站点,而不是全局。


还使用UserAgentSwitcher而不是仅使用UAControl的好处是什么?
古肯·帕普斯特

假设您不希望用户代理全局切换,则什么也没有。我仅在上述步骤中使用了UserAgentSwitcher,因为我不知道它是什么,因此需要获取iphone用户代理。
karl 2012年

在最后一句话中,您真的是说用户帐户切换器吗?
bytebuster 2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.