Chrome调试协议:阻止主机名(取消网络请求)

时间:2017-02-03 04:00:33

标签: google-chrome google-chrome-extension google-chrome-devtools chromium

通过Chrome调试协议(或者可能是命令行标记),有没有办法在使用远程代理的Chrome无头实例中阻止某些主机名(即取消对它们的任何网络请求)?

我认为通过本地hosts文件这样做会有效,但如果使用远程代理则不会有任何影响。

2 个答案:

答案 0 :(得分:2)

我认为应该可以使用Chrome调试协议执行此操作。 Web检查器中有一个实验性功能,它公开了Request blocking选项卡。在这里,您可以根据特定的匹配条件阻止网络请求。

Request blocking

调试协议在网络域下有一个addBlockedURL方法,它将URL作为参数。这是一个实验性的API,但我认为您可以执行此操作的当前方法是对请求URL执行正则表达式匹配,并将每个匹配的URL传递给该方法。我怀疑新的Web检查器功能是按照这些方式实现的。

答案 1 :(得分:1)

我不知道使用远程调试协议的任何方法。

阻止Web请求到某些主机名(或基于任何其他条件!)的典型方法是安装一个使用chrome.webRequest API来拦截和取消请求的扩展。例如,这就是广告拦截扩展的工作原理。