Electron截取响应体

const listenAllRequests = (childWindow) => {
  // 启用调试器, 可以选填DevTools 协议版本号,默认省略, Electron 会自动使用与当前 Electron 版本兼容的最新 DevTools 协议版本
  childWindow.webContents.debugger.attach();

  // 启用网络跟踪
  childWindow.webContents.debugger.sendCommand('Network.enable');

  // 监听网络响应
  childWindow.webContents.debugger.on('message', (event, method, params) => {
    // 处理响应, method(事件名称), Network.responseReceived表示网络请求的响应已经收到
    if (method === 'Network.responseReceived') {
      // 如果需要获取响应体内容
      if (params.response.url.indexOf('/xx/xx/xx') !== -1) {
        childWindow.webContents.debugger
          .sendCommand('Network.getResponseBody', {
            requestId: params.requestId,
          })
          .then((response) => {
            console.log('响应体内容:', response.body);
          })
          .catch((err) => {
            console.log('获取响应体失败:', err);
          });
      }
    }
  });
};

你可能感兴趣的:(electron,javascript,前端)