Получение содержимого ответа на API WebExtension devtools - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь получить содержимое некоторых фоновых запросов, сделанных при загрузке сайта. Я решил использовать 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. Единственный способ получить полный ответ - сделать локон ...

...