相关疑难解决方法(0)

网络选项卡节点检查 Chrome DevTools

是否有 NodeJS 版本支持在 Chrome DevTools 的网络选项卡中查看网络活动?在 NodeJS v12.13.0 中使用node --inspect或打开 DevTools 时没有网络选项卡。node --inspect-brk

node.js google-chrome-devtools

11
推荐指数
1
解决办法
742
查看次数

使用Puppeteer拦截请求时如何获取原始编码响应大小?

我使用此代码来记录在 Chrome 中加载页面时编码的响应大小:

const puppeteer = require("puppeteer");

(async function() {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  page._client.on("Network.loadingFinished", data => {
    console.log("finished", { encodedDataLength: data.encodedDataLength });
  });

  // await page.setRequestInterception(true);
  // page.on("request", async request => {
  //   request.continue();
  // });

  await page.goto("http://example.com");
  await browser.close();
})();
Run Code Online (Sandbox Code Playgroud)

这是输出:

完成{编码数据长度:967}

但是,如果我取消注释代码片段中的四行,输出将更改为:

完成 { 编码数据长度:0 }

这确实有一定道理,因为拦截的请求可能已被客户端以某种方式修改,并且此后不会再次对其进行 gzip 压缩。

但是,有没有办法访问原始 gzip 响应大小?


Chrome 跟踪也不包括 gzip 压缩后的大小:

“encodedDataLength”:0,“decodedBodyLength”:1270,

javascript puppeteer

5
推荐指数
1
解决办法
2063
查看次数