Используя Puppeteer, я хотел бы загрузить URL-адрес в Chrome и получить следующую информацию:
- URL запроса
- заголовки запроса
- запросить данные
- текст заголовков ответов (включая дубликаты заголовков, такие как
set-cookie
) - переданный размер ответа (т.е. сжатый размер)
- полное тело ответа
Захват полного тела ответа - вот что вызывает у меня проблемы.
Вещи, которые я пробовал:
- Получение содержимого ответа с помощью
response.buffer
- это не работает, если есть перенаправления в любой точке, так как буферы стираются при навигации - перехват запросов и использование
getResponseBodyForInterception
- это означает, что я больше не могу получить доступ к encodedLength, и у меня также были проблемы с получением правильных заголовков запросов и ответов в некоторых случаях - Использование локального прокси-сервера работает, но это значительно замедляет время загрузки страницы (а также меняет поведение, например, при ошибках сертификата)
В идеале решение должно оказывать лишь незначительное влияние на производительность и не иметь функциональных отличий от обычной загрузки страницы. Я также хотел бы избежать разветвления Chrome.