1

我工作的Chrome扩展与拦截所有的HTTP(S)请求/响应的动机不来,并记录所有标题变为持久性文件(在磁盘上)。我几乎接近了我的目标。但是,当我仔细地看了看一些要求,我发现,在许多要求“If-None-Match”和“If-Modified-Since”在requestHeaders失踪。不过,我可以在开发人员工具显示的网络面板中看到它们。Chrome扩展chrome.webRequest API - 一些HTTP请求头中的请求头

我努力找出任何模式,造成这样的行为。但不幸的是,没有这种模式。

任何人,请帮助。

回答

1

接收requestHeader列表对于使用chrome.webRequest API中的onBeforeSendHeaders事件是必需的。

onBeforeSendHeaders描述是mentioned,一些报头不可用于读取/处理:

  • 授权
  • 缓存控制
  • 连接
  • 的Content-Length
  • 主机
  • 的If-Modified-由于
  • 如果无 - 匹配
  • 如果-范围
  • 局部数据
  • 附注
  • 代理授权
  • 代理连接
  • 传输编码

恐怕您将无法读取或修改这些标题,因为这是API强制限制。

+0

由于你在你的答案中提到的限制,用'onBeforeSendHeaders'事件,我用'onSendHeaders'事件,在很多要求,我得到'的If-Modified-Since'和'如果无 - Match'头,但不是在所有请求 –

+0

问题是,onSendHeaders你可能只能阅读这些,但不能修改。但是你只需要记录它们,所以它会起作用。 –

+0

是的,我不想修改。我只想记录(持续)每个请求,以便在日志上执行模拟。 –