监听和访问firefox提出的所有请求

时间:2009-11-29 11:20:06

标签: firefox firefox-addon httprequest add-on

我正在开发一个插件,它将修改firefox所做的所有http请求。所以,我想听取并修改浏览器从不同网站发出的所有请求网址。如何访问不同的http请求URL并进行修改。在请求任何http请求之前是否有任何事件在firefox中被触发。 因此,请建议访问浏览器生成的所有请求(ajax以及document.src)并修改其URL。 Thanxs !!

2 个答案:

答案 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);