Chrome 扩展:修改用户代理字符串

Mar*_*era 3 user-agent google-chrome-extension

在 Firefox 扩展中,我们可以:

var _prefService =  Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
var httpHandler = Cc["@mozilla.org/network/protocol;1?name=http"].getService(Ci.nsIHttpProtocolHandler);
setCharPref("general.useragent.override",httpHandler.userAgent + " OurUAToken/1.0");
Run Code Online (Sandbox Code Playgroud)

在 User-Agent 字符串的末尾添加“OurUAToken/1.0”。

我们如何在 Google Chrome 中复制这种行为?

laz*_*vab 9

不确定是否有人仍在寻找解决方案,但chrome.webRequest之前建议的API 现在非常稳定。

chrome.webRequest.onBeforeSendHeaders.addListener(
  function (details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders[i].value = details.requestHeaders[i].value + ' OurUAToken/1.0';
        break;
      }
    }
    return { requestHeaders: details.requestHeaders };
  },
  { urls: ['<all_urls>'] },
  ['blocking', 'requestHeaders']
);
Run Code Online (Sandbox Code Playgroud)

作为 chrome 扩展之一,Requestly已经有类似的实现,允许覆盖浏览器中打开的任何网站的用户代理字符串。


更多信息,请访问博客:https : //medium.com/@requestly_ext/switching-user-agent-in-browser-f57fcf42a4b5

该扩展也可用于 Firefox。访问http://www.requestly.in了解详情。