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);
          });
      }
    }
  });
};
相关推荐
伍哥的传说2 小时前
Radash.js 现代化JavaScript实用工具库详解 – 轻量级Lodash替代方案
开发语言·javascript·ecmascript·tree-shaking·radash.js·debounce·throttle
程序视点2 小时前
IObit Uninstaller Pro专业卸载,免激活版本,卸载清理注册表,彻底告别软件残留
前端·windows·后端
前端程序媛-Tian3 小时前
【dropdown组件填坑指南】—怎么实现下拉框的位置计算
前端·javascript·vue
iamlujingtao3 小时前
js多边形算法:获取多边形中心点,且必定在多边形内部
javascript·算法
嘉琪0013 小时前
实现视频实时马赛克
linux·前端·javascript
烛阴3 小时前
Smoothstep
前端·webgl
若梦plus4 小时前
Eslint中微内核&插件化思想的应用
前端·eslint
爱分享的程序员4 小时前
前端面试专栏-前沿技术:30.跨端开发技术(React Native、Flutter)
前端·javascript·面试
超级土豆粉4 小时前
Taro 位置相关 API 介绍
前端·javascript·react.js·taro
若梦plus4 小时前
Webpack中微内核&插件化思想的应用
前端·webpack