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

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

我必须使用某个网站来工作,但该网站会检查我是否正在使用 Internet Explorer,如果没有,则不允许我登录。我可以使用用户代理切换器Firefox 插件和网站运行良好,但我真的不想每次访问网站时都切换标题,也不希望我的 User-Agent 标题永远显示我正在使用 IE。

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

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

答案1

扩展Chrome 的用户代理切换器有一个永久恶搞名单,您可以在其中为特定域设置特定的用户代理。

配置

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

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

  3. 点击Permanent Spoof list

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

截屏

答案2

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

现在,要获取每个站点的 UA 字符串,可以安装UA控制用户代理 JS 修复程序第一个插件会修改User-Agent每个站点的请求标头,但不是navigator.userAgent经常使用的字符串UA 嗅探。第二个附加组件通过覆盖来补充第一个附加组件navigator.userAgent

由于我已经安装了GreaseMonKey,而我的目标网站仅使用客户端用户代理嗅探,因此我决定编写一个小型用户脚本以更改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 中运行良好。

答案3

对于 Firefox,有扩展UA控制ua-站点切换,允许在每个站点上设置 User-Agent 标头。选择其中一个,然后罗布·W指出,你需要安装用户代理 JS 修复程序也。

答案4

你可以使用类似的插件IE标签页,它实际上会使用 Firefox 中的 IE DLL,因此页面不仅会认为您正在使用 IE,而且会呈现相同的内容。它可以设置为在您访问特定页面时自动应用,这样您就可以在除需要 IE 的网站之外的所有内容上获得 Firefox 渲染。

相关内容