我正在开发一个插件,它将修改 firefox 发出的所有 http 请求。所以,我想监听和修改浏览器从不同站点发出的所有请求 url。如何访问不同的 http 请求 url 并修改它们。在请求任何 http 请求之前,是否有任何事件在 Firefox 中触发。所以,无论如何,请建议访问浏览器发出的所有请求(ajax 以及 document.src)并修改它们的 url。谢谢!!
问问题
409 次
2 回答
1
您应该查看tamperdata 源,它是一个用于跟踪和修改 http 和 https 请求的 firefox 扩展。
于 2009-11-29T11:36:55.577 回答
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);
于 2013-09-29T15:06:04.467 回答