Как программно получить доступ к консоли Chrome, чтобы что-то сделать с 404 ответами? - PullRequest
1 голос
/ 13 июля 2011

Моя конечная цель - предоставить рабочую копию существующего веб-сайта.

Я использовал httrack, что довольно неплохо, однако он недостаточно умен, чтобы обнаруживать глубоко вложенные зависимые ресурсы, например, динамические ресурсы, полученные из js / flash и т. Д.

Я хочу написать скрипт, который ищет все 404 ответа на вкладке Console в Chrome и, используя URI, загружать файлы с внешнего веб-сайта локально.

Например, скажем, я получил это:

404 http://site.localhost/media/images/blah.png 404 http://site.localhost/media/xml/file.xml

Я бы хотел, чтобы мой сценарий прошел через все 404 и обнаружил, является ли HOST 'site.localhost', а затем запустил команду bash, которая WGETs запрашивает ресурс из http://actualsite.com/media/images/blah.png.

Если кто-то может дать представление о том, как я могу программно получить доступ к этой части Консоли, и как я могу выполнять команды bash с этим, тогда я настроен.

1 Ответ

2 голосов
/ 14 июля 2011

Я не знаю способа выгрузки содержимого консоли только с помощью обычного javascript на странице (и был бы очень удивлен, если таковой имеется).

Вы можете написать расширение, которое отслеживает все ресурсы настраница и журналы, если это 404. Загрузка их с использованием javascript, конечно, не подлежит сомнению.

Для регистрации неверных запросов вам нужно будет использовать экспериментальный API , что-то вроде этого:

background.html:

chrome.experimental.webRequest.onCompleted.addListener(function(details) {
    if(details.statusCode == 404) {
        console.log("Broken resource:", details.url);
    }
}, null, ["statusLine", "responseHeaders"]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...