2015-07-04 43 views
2

我試圖找出一種方法將自定義http頭添加到通過geckoFX所做的所有請求中。我嘗試添加使用將http頭添加到GeckoFx的所有請求中

GeckoMIMEInputStream strea=new GeckoMIMEInputStream(); 
strea.AddHeader("head","val"); 
geckoWebBrowser1.Navigate("http://google.com",GeckoLoadFlags.None,"",null,strea); 

我需要一種方法來添加自定義的幀頭,絕對的所有請求都去一個網頁時作出。 謝謝

回答

0

您可以實現自己的觀察者(nsIObserver接口)來攔截http-on-modify-request通知並添加標題。

class Observer: nsIObserver 
{ 
    public void Observe(nsISupports aSubject, string aTopic, string aData) 
    { 
     var request = Xpcom.QueryInterface<nsIHTTPChannel>(aSubject); 
     request.SetRequestHeader(name, value, merge); 
    } 
} 

,並將其註冊

Xpcom.GetService<nsIObserverService>("@mozilla.org/observer-service;1").AddObserver(new Observer(), "http-on-modify-request", false); 
0

您可以使用ObserveHttpModifyRequest事件:

var browser = new GeckoWebBrowser(); 
browser.UseHttpActivityObserver = true; 
browser.ObserveHttpModifyRequest += 
    (sender, e) => e.Channel.SetRequestHeader(name, value, merge: true); 

欲瞭解更多信息,請檢查MDN nsIRequestnsIHttpChannel頁。

相關問題