向 GeckoFx 的所有请求添加 http header
Add http header to all requests to GeckoFx
我正在尝试找到一种方法来向通过 geckoFX 发出的所有请求添加自定义 http header。我尝试使用
添加 header
GeckoMIMEInputStream strea=new GeckoMIMEInputStream();
strea.AddHeader("head","val");
geckoWebBrowser1.Navigate("http://google.com",GeckoLoadFlags.None,"",null,strea);
我需要一种方法来为访问网页时发出的所有请求添加自定义 header。
谢谢
您可以实现自己的观察者(nsIObserver 接口)来拦截 http-on-modify-request 通知并添加 headers.
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);
您可以使用 ObserveHttpModifyRequest
事件:
var browser = new GeckoWebBrowser();
browser.UseHttpActivityObserver = true;
browser.ObserveHttpModifyRequest +=
(sender, e) => e.Channel.SetRequestHeader(name, value, merge: true);
有关详细信息,请查看 MDN 上的 nsIRequest and nsIHttpChannel 页面。
我正在尝试找到一种方法来向通过 geckoFX 发出的所有请求添加自定义 http header。我尝试使用
添加 headerGeckoMIMEInputStream strea=new GeckoMIMEInputStream();
strea.AddHeader("head","val");
geckoWebBrowser1.Navigate("http://google.com",GeckoLoadFlags.None,"",null,strea);
我需要一种方法来为访问网页时发出的所有请求添加自定义 header。 谢谢
您可以实现自己的观察者(nsIObserver 接口)来拦截 http-on-modify-request 通知并添加 headers.
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);
您可以使用 ObserveHttpModifyRequest
事件:
var browser = new GeckoWebBrowser();
browser.UseHttpActivityObserver = true;
browser.ObserveHttpModifyRequest +=
(sender, e) => e.Channel.SetRequestHeader(name, value, merge: true);
有关详细信息,请查看 MDN 上的 nsIRequest and nsIHttpChannel 页面。