我正在进行项目,这是一个非常简单的家长控制软件,但是,我想知道firefox要求的网址是什么,基于它做出响应...如果你可以提供帮助因为我不知道如何让我的软件知道firefox请求的url是什么。怎么做? 我必须在我的大部分软件中使用C ++ ..但如果有更好的语言来完成这项任务,请告诉我
答案 0 :(得分:0)
我可以建议一种替代方法吗?而不是为Firefox编写扩展程序和Chrome的扩展程序以及IE的扩展程序...在操作系统网络接口上侦听流量并阻止不受欢迎的URL。
传统上这是防火墙的工作。使用现有解决方案将提供解决问题的最有效方法。我不熟悉内置Windows防火墙或第三方替代方案的功能,但这样的事情对于iptables(Linux)来说是微不足道的。
答案 1 :(得分:0)
在Firefox中,您需要使用名为nsIHTTPChannel的XPCOM组件。下面的这个脚本将阻止所有rqeuest谷歌中止。在打开与服务器的连接之前,通道已打开但已中止。
var {classes: Cc, results: Cr, utils: Cu} = Components;
Cu.import('resource://gre/modules/Services.jsm');
var httpRequestObserver =
{
observe: function(subject, topic, data)
{
var httpChannel, requestURL;
if (topic == 'http-on-modify-request') {
httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
requestURL = httpChannel.URI.spec;
if (/google\.com/.test(requestURL)) {
httpChanel.cancel(Cr.NS_BINDING_ABORTED);
}
return;
}
}
};
Services.obs.addObserver(httpRequestObserver, 'http-on-modify-request', false);
//Services.obs.removeObserver(httpRequestObserver, "http-on-modify-request", false); //run this to remove observer