Я пытаюсь получить содержимое некоторых фоновых запросов, сделанных при загрузке сайта. Я решил использовать API Devtools, поэтому я делаю что-то вроде:
function handleRequestFinished(request) {
request.getContent().then(content => {
// do something with content here
});
}
}
browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);
Не совсем мой код, но просто скелет того, как это должно быть сделано, если мы будем следовать документам 1 .
Итак, что происходит, для некоторых URL я получаю в виде содержимого список типа [null, null]
. Я подозреваю, что это ошибка или проблема с разрешениями (может быть, для получения содержимого запроса требуются специальные разрешения, если это сторонняя / https / -add, вне зависимости от того, какие загадочные условия Mozilla рассматривает здесь -).
Я подумываю перейти на webRequest, но в любом случае, если у кого-то есть подсказка о том, что здесь происходит, я буду очень признателен за вашу помощь.
Обновление: похоже, проблема больше связана с большими двоичными файлами. Этот API возвращает представление двоичных файлов в формате base64, и кажется, что при некотором размере он просто перестает что-либо возвращать. Я попытался установить devtools.netmonitor.responseBodyLimit
без удачи.
PS: На вкладке сети содержимое этих ответов выглядит просто отлично. . Содержимое на вкладке сети усекается. То же, что и контент, полученный через webRequest API. Единственный способ получить полный ответ - сделать локон ...