通过Chrome调试协议(或者可能是命令行标记),有没有办法在使用远程代理的Chrome无头实例中阻止某些主机名(即取消对它们的任何网络请求)?
我认为通过本地hosts
文件这样做会有效,但如果使用远程代理则不会有任何影响。
答案 0 :(得分:2)
我认为应该可以使用Chrome调试协议执行此操作。 Web检查器中有一个实验性功能,它公开了Request blocking
选项卡。在这里,您可以根据特定的匹配条件阻止网络请求。
调试协议在网络域下有一个addBlockedURL方法,它将URL作为参数。这是一个实验性的API,但我认为您可以执行此操作的当前方法是对请求URL执行正则表达式匹配,并将每个匹配的URL传递给该方法。我怀疑新的Web检查器功能是按照这些方式实现的。
答案 1 :(得分:1)
我不知道使用远程调试协议的任何方法。
阻止Web请求到某些主机名(或基于任何其他条件!)的典型方法是安装一个使用chrome.webRequest API来拦截和取消请求的扩展。例如,这就是广告拦截扩展的工作原理。