1

Через протокол отладки Chrome (или, возможно, флаг командной строки) есть способ заблокировать некоторые имена хостов (т. Е. Отменить любой сетевой запрос к ним) в экземпляре Chrome headless используя удаленный прокси?Протокол отладки Chrome: заблокировать имена хостов (отменить сетевой запрос)

Я полагаю, что это делается через локальный файл hosts, но это не повлияет на использование удаленного прокси.

ответ

2

Я думаю, что это должно быть возможно сделать с помощью протокола отладки Chrome. В веб-инспекторе есть экспериментальная функция, которая предоставляет вкладку Request blocking. Здесь вы можете блокировать сетевые запросы, учитывая конкретные критерии соответствия.

Request blocking

отладочная протокол имеет addBlockedURL метод под доменом сети, который принимает URL-адрес в качестве параметра. Это экспериментальный API, но я думаю, что теперь вы могли бы сделать это регулярное выражение на URL-адресах запроса и передать каждый сопоставленный URL-адрес методу. Я подозреваю, что новая функция веб-инспектора реализует ее в этом направлении.

+0

Спасибо, я полагаю метод addBlockedURL принимает один URL за раз, но может ли он быть вызван несколько раз во время загрузки одной страницы? – Nick

+0

@Nick Я еще не тестировал это, поэтому я мог бы немного ошибаться. Если вы попробуете это, сообщите нам, если это сработает. В противном случае я планирую какое-то время, чтобы выглядеть сам. –

+0

Не беспокойтесь, я дам ему попытку в ближайшее время и поделитесь результатами. – Nick

1

Я не знаю, как это сделать, используя протокол удаленной отладки.

Типичный способ блокировки веб-запросов для определенных имен хостов (или на основе любых других критериев!) Заключается в установке расширения, которое использует API chrome.webRequest для перехвата и отмены запросов. Так, например, работают рекламные блокировки.

+0

Спасибо, знаете ли вы, что можно использовать расширение в режиме Chrome без головного убора (возможно, с помощью параметра командной строки)? – Nick

+0

Ничего, нашел способ запуска расширений здесь: http://stackoverflow.com/questions/15196274/how-to-preinstall-a-chrome-extension-on-a-linux-headless-server – Nick