首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Referer、Connection和Accept-Encoding在带有XMLHttpRequest的Firefox附加模块中被拒绝

问Referer、Connection和Accept-Encoding在带有XMLHttpRequest的Firefox附加模块中被拒绝
EN

Stack Overflow用户
提问于 2020-01-14 21:02:12
回答 1查看 585关注 0票数 1

我在网站上发送了一个XMLHttpRequest,但是如果我不设置三个Referer,Connection,Accept-Encoding头,它就不会工作。这是我用来添加它们的代码:

代码语言:javascript
复制
xmlHttp.setRequestHeader("Accept-Encoding", "gzip, deflate");
xmlHttp.setRequestHeader("Referer", referer);
xmlHttp.setRequestHeader("Connection", "close");

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

代码语言:javascript
复制
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

如果我不设置Connection,XMLHttpRequest会自动将标头设置为keep-alive。

通过我的Firefox插件设置它们的方法是什么?我应该在permissions上更改一些东西吗?这是我的manifest.json

代码语言:javascript
复制
{

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

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

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

}
EN

回答 1

Stack Overflow用户

发布于 2020-01-15 17:45:58

如果我没记错的话,在最新版本的火狐中,你可以使用browser.webRequest.onBeforeSendHeaders来完成这项工作。了解Chrome,出于安全考虑,这些头文件在许多浏览器中都是被禁止的,但自从我们进入一个附加组件环境以来,人们就一直在讨论这个问题:当你可以简单地使用这个变通方法来做同样的事情时,禁止这样做有用吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59734327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档