0

我正在开发一个插件,它将修改 firefox 发出的所有 http 请求。所以,我想监听和修改浏览器从不同站点发出的所有请求 url。如何访问不同的 http 请求 url 并修改它们。在请求任何 http 请求之前,是否有任何事件在 Firefox 中触发。所以,无论如何,请建议访问浏览器发出的所有请求(ajax 以及 document.src)并修改它们的 url。谢谢!!

4

2 回答 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 回答