当使用http-on-modify-request发出http请求时,我想要获得http头的完整信息。
我想要获取的信息示例:

我有这样的代码:
myObserver.prototype = {
observe: function(subject, topic, data) {
if("http-on-modify-request"){
var httpChannel =
subject.QueryInterface(Components.interfaces.nsIHttpChannel);
alert("URI: " + httpChannel.originalURI.spec);
alert("User-Agent: " + httpChannel.getRequestHeader('user-agent'));
}
},
register: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.addObserver(this, "http-on-modify-request", false);
},
unregister: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.removeObserver(this, "http-on-modify-request");
}
}发布于 2016-06-05 15:47:01
您的观察函数应如下所示:
observe: function(subject, topic, data) {
if (topic === "http-on-modify-request") {
var channel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);
alert("URI: " + channel.URI.asciiSpec);
channel.visitRequestHeaders(function(name, value) {
// do something with each header
if (name === 'User-Agent') {
alert(name+': '+value);
}
});
}
},https://stackoverflow.com/questions/17682803
复制相似问题