Есть ли способ увидеть реальный мутировавший запрос, который посылает Кукольник? - PullRequest
2 голосов
/ 04 февраля 2020

Я изменяю содержимое тела запроса POST, но на devtools я вижу исходный запрос. Есть ли способ увидеть контент, который я мутирую? (Я хочу убедиться, что содержимое, которое я передаю на request.continue, действительно работает и отправлено на сервер)

пример кода:

  page.on("request", request => {
    return request.continue({
          postData: "...some-overide..."
        });
  });

полная версия кода Я использовал:

import p from "puppeteer";

async function main() {
  const b = await p.launch({ headless: false });
  const page = await b.newPage();
  await page.setRequestInterception(true);
  page.on("request", request => {
    if (request.method() === "POST") {
      const postData = request.postData();
      if (postData.includes("&")) {
        console.log(request.url());
        console.log(postData);
        const test = postData + "&test=value";
        return request.continue({
          postData: test
        });
      }
    }
    request.continue();
  });
}

main();

Я ожидаю, что при каждом запросе POST, который имеет postData - он добавит &test=value к аргументам

ОБНОВЛЕНИЕ:

Я решил это по-другому: так как манипулируемые postData не проходили, я закончил тем, что прервал вызов, используя request.abort(), и сгенерировал новый, используя page.evaluate(...fetch(...)...), и только если переданный аргументы действительны при выполнении request.continue().

Это работает, но я до сих пор не знаю, почему не работает оригинальный

    request.continue({
          postData: "...some-overide..."
        });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...