2012-03-06 47 views
0

我發現一些問題,如何檢索的IP地址,每請求(圖像,ajax,初始等)的FF擴展中的網頁。 就像在Firebug中完成一樣。Firefox擴展開發:如何記錄每個請求的IP地址?

我的嘗試:

nsIWebProgressListener只是給我一個要求的主機名。通過DNS查詢,我可以從主機名獲得IP。

ServerSocketListener看起來像我必須自己打開服務器套接字,ServerSocketListener只是偵聽此套接字。

是否有可能?

如果是,我應該使用哪個函數?

+0

你是如何使用'nsIWebProgressListener',它只給你一個請求? – 2012-03-06 15:32:25

+0

我只使用onLocationChange,導致它是nsIWebProgressListener的唯一函數,它給了我主機名(nsIURI.host)。 – kev 2012-03-06 15:52:00

回答

1

你應該是using progress listeners。尤其是,讓所有請求重要的方法是onStateChange

const Ci = Components.interfaces; 

... 

onStateChange: function(webProgress, request, flag, status) 
{ 
    if ((flag & Ci.nsIWebProgressListener.STATE_START) && 
     (flag & Ci.nsIWebProgressListener.STATE_IS_REQUEST) && 
     request instanceof Ci.nsIChannel) 
    { 
    // Request started 
    var host = request.URI.host; 
    ... 
    } 
}, 

又見documentation on nsIChannel

另一種選擇是using http-on-modify-request notification

+0

謝謝你的回答,但這對我不起作用。 – kev 2012-03-07 12:56:48

+0

@ user1252307:隨意測試你的代碼,找出究竟什麼是行不通的;) – 2012-03-07 13:01:59

+0

我想寫更多,但按回車沒有按預期做一個換行符,但保存了評論:-(

這裏是我的帖子的餘下部分:

我登錄的主機名到錯誤控制檯
當我衝浪到Y * hoo.com例如我得到一個條目:l.yimg.com
螢火蟲名單我約15!請求。
我也試着監視一個ajax請求:[http://www.w3schools.com/ajax/ajax_example.asp](http://www.w3schools.com/ajax/ajax_example。 asp)。
這也沒有顯示在我的錯誤控制檯中。 – kev 2012-03-07 13:09:53