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

lad*_*dge 23 firefox google-chrome user-agent

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

我在 Linux 上,所以不幸的是实际上切换到 IE 不是一个选项。

有没有办法在 Firefox 或 Chrome 中为特定网站定义特定的用户代理?

Den*_*nis 16

Chrome的扩展User-Agent Switcher有一个永久欺骗列表,您可以在其中为某些域设置特定的用户代理。

配置

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

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

  3. 单击Permanent Spoof list

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

截屏


Rob*_*b W 11

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

现在,要获取每个站点的 UA 字符串,可以安装UAControlUser-Agent JS Fixer。第一个附加组件修改User-Agent每个站点的请求标头,但不是navigator.userAgent经常用于UA-sniffing字符串。第二个附加组件通过覆盖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)'
});
Run Code Online (Sandbox Code Playgroud)

在 Firefox 26.0 中就像一个魅力。


Gur*_*pst 8

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