我正在开发一个插件,它将修改firefox所做的所有http请求。所以,我想听取并修改浏览器从不同网站发出的所有请求网址。如何访问不同的http请求URL并进行修改。在请求任何http请求之前是否有任何事件在firefox中被触发。 因此,请建议访问浏览器生成的所有请求(ajax以及document.src)并修改其URL。 Thanxs !!
答案 0 :(得分:1)
你应该看看tamperdata sources这是一个firefox扩展来跟踪和修改http& https请求。
答案 1 :(得分:1)
您应该注册nsIObserver的“http-on-modify-request”事件。这将在浏览器发出之前为您提供每个请求。
var {Cc, Ci} = require("chrome");
var httpRequestObserver =
{
observe: function(subject, topic, data)
{
if (topic == "http-on-modify-request") {
var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
var requestURI = httpChannel.URI.spec;
// ...
}
}
};
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.addObserver(httpRequestObserver, "http-on-modify-request", false);