Я изменяю содержимое тела запроса 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..."
});