如何在Puppeteer中代理特定请求

时间:2019-04-17 16:06:11

标签: javascript node.js proxy puppeteer

是否可以将特定的URL代理/重定向到其他URL? 例如,当Puppeteer页面转到“ mydomain.com”时,我希望将对“ mydomain.com/styles/.css”的所有调用代理到“ localhost:8080 / styles / .css”。 我不希望所有请求都通过代理重新发送。但类似于https://chrome.google.com/webstore/detail/resource-override/pkoacgokdfckfpndoffpifphamojphii?hl=en chrome扩展程序。

1 个答案:

答案 0 :(得分:0)

由于@Hellonearthis链接,因此解决方案似乎是

const page = await browser.newPage();

await page.setRequestInterception(true);

page.on('request', (request) => {
  if (request.url().indexOf("mydomain.com") !== -1) {
    // simply replace with another url
    request.continue((request.url().replace("mydomain.com", "http://localhost:8080/styles"));
  }
  else {
    request.continue();
  }

});