【问题标题】:Referer, Connection and Accept-Encoding are denied in Firefox add-on with XMLHttpRequest在带有 XMLHttpRequest 的 Firefox 插件中,Referer、Connection 和 Accept-Encoding 被拒绝
【发布时间】:2020-05-01 05:04:36
【问题描述】:

我正在网站上发送 XMLHttpRequest,但如果我不设置 RefererConnectionAccept-Encoding 三个标头,它将不起作用。 这是我用来添加它们的代码:

xmlHttp.setRequestHeader("Accept-Encoding", "gzip, deflate");
xmlHttp.setRequestHeader("Referer", referer);
xmlHttp.setRequestHeader("Connection", "close");

这是控制台上显示的内容:

Attempt to set a forbidden header was denied: Referer
Attempt to set a forbidden header was denied: Connection
Attempt to set a forbidden header was denied: Accept-Encoding

如果我不设置ConnectionXMLHttpRequest会自动设置标题为keep-alive

通过我的 Firefox 插件设置它们的方法是什么?我应该更改permissions 的内容吗?这是我的manifest.json

{

  "manifest_version": 2,
  "name": "Task",
  "version": "1.0",

  "permissions": [
      "cookies",
      "*://*.website/*"  
  ],

  "content_scripts": [
    {
      "matches": ["*://*.website/*"],
      "js": ["task.js"]
    }
  ]

}

【问题讨论】:

    标签: javascript xmlhttprequest http-headers firefox-addon http-referer


    【解决方案1】:

    如果我没记错的话,在最新版本的 Firefox 中,您可以使用 browser.webRequest.onBeforeSendHeaders 来完成这项工作。出于安全目的,许多浏览器(包括 Chrome)都禁止使用这些标头,但是自从我们进入附加上下文以来,已经对此进行了非常多的讨论:当您可以简单地使用此解决方法来做同样的事情时,禁止这样做有用吗?

    【讨论】:

      猜你喜欢
      • 2019-11-08
      • 2019-02-18
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      相关资源
      最近更新 更多