Electron - 拦截所有渲染器进程请求并添加其他标头



如何拦截从渲染器进程发出的所有 HTTP(S) 请求并向其添加额外的标头参数?

对于主进程,可以使用session.defaultSession.webRequest.onBeforeRequest API。但是,对于从渲染器进程发起的请求,我找不到类似的 API。

查看:atom_api_web_request.cc 作为您请求的方法。

使用示例:

   win.webContents.session.webRequest.onHeadersReceived({}, (res, cb) => {
    if(res.responseHeaders['x-frame-options'] || res.responseHeaders['X-Frame-Options']){
      delete res.responseHeaders['x-frame-options'];
      delete res.responseHeaders['X-Frame-Options'];
    }
    cb({cancel: false, responseHeaders: res.responseHeaders});
  });

您可以将侦听器方法更改为:"onSendHeaders"/"onBeforeSendHeaders",如果这是您需要的。

最新更新