首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过更改url重定向url

通过更改url重定向url
EN

Stack Overflow用户
提问于 2021-07-26 18:25:28
回答 1查看 280关注 0票数 1

我试图更改我的请求url,并在响应中看到新的url。

代码语言:javascript
复制
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setRequestInterception(true);
  page.on('request', interceptedRequest => {
    if (interceptedRequest.url().includes('some-string')) {
       interceptedRequest.respond({
          status: 302,
          headers: {
            url: 'www.new.url.com'
          },
        })
    }
    interceptedRequest.continue()
  });

 page.on('response', response => {
    console.log(response.url())
 })
 await page.goto('www.orginal.url.com')
// some code omitted
})();

在interceptedRequest.respond方法中,我试图更新url的值。最初我试着:

interceptedRequest.continue({url: 'www.new.url.com'})

但这种方式在目前版本的木偶词典中并没有得到长期的支持。我本来希望在响应中得到http://www.new.url.com/,但实际上我得到了附加到末尾的http://www.new.url.com/的原始url。

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2022-01-10 14:05:06

这对我有帮助。您需要将url改为位置。

代码语言:javascript
复制
const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setRequestInterception(true);
  page.on('request', interceptedRequest => {
    if (interceptedRequest.url().includes('some-string')) {
       interceptedRequest.respond({
          status: 302,
          headers: {
            location: 'www.new.url.com'
          },
        })
    }
  });

 page.on('response', response => {
    console.log(response.url())
 })
 await page.goto('www.orginal.url.com')
// some code omitted
})();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68534788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档