我想檢查Firefox擴展中的http請求。要開始考慮如何做我想做的事情我想我只要登錄一切,看看會發生什麼吧:firefox addon webrequest.addListener行事不端
webRequest.onResponseStarted.addListener(
(stuff) => {console.log(stuff);},
{urls: [/^.*$/]}
);
域名是微不足道的,我也知道正則表達式的作品,在控制檯驗證。運行此代碼時,我沒有記錄。當我拿出濾波器參數我得到的每一個請求:
webRequest.onResponseStarted.addListener(
(stuff) => {console.log(stuff);}
);
酷,我可能做錯事,但我什麼也看不見。
另一種方法是我自己手動過濾:
var webRequest = Components.utils.import("resource://gre/modules/WebRequest.jsm", {});
var makeRequest = function(type) {
webRequest[type].addListener(
(stuff) => {
console.log(!stuff.url.match(/google.com.*/));
if(!stuff.url.match(/google.com.*/))
return;
console.log(type);
console.log(stuff);
}
);
}
makeRequest("onBeforeRequest");
makeRequest("onBeforeSentHeaders");
makeRequest("onSendHeaders");
makeRequest("onHeadersReceived");
makeRequest("onResponseStarted");
makeRequest("onCompleted");
通過上面的的的console.log如果,我可以看到正則表達式返回true時,我想它和代碼使其成爲過去,如果。當我刪除console.log時,如果不再執行。
我的問題是,我如何獲得過濾參數的工作,或者如果這確實被打破,我怎麼能得到的代碼,如果被執行?顯然,這是一個消防水帶,並開始尋找解決方案,我將需要減少數據。
由於
從https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/WebRequest.jsm#onBeforeRequest處獲得文檔。這表明,網址是「RegExp數組」。這很清楚。無論如何,我從谷歌嘗試你的匹配模式,沒有運氣。在我這樣做之前,幾乎看起來在進行日誌記錄之前,可以在請求內部進行日誌記錄,但我不知道它是否正在按照我的需要進行操作。 – Dale