如何在GeckoFX中设置用户代理?

时间:2013-02-01 19:29:32

标签: c# geckofx winforms-to-web

在使用webbrowser控件一段时间后,我决定尝试gecko,因为我遇到过webbrowser的问题,速度低,性能下降。我下载了最新版本的geckofx(16.0.0.2)和xulrunner(16.0.2),并创建了一个geckoWebbrowser控件。当我尝试导航到一个网页时,我得到了一个javascript.alert,我的网页浏览器不受支持,我应该使用firefox> 2.0.0.2,这当然是荒谬的。 问题是 - 我假设 - 检测到的useragent字符串是“Mozilla / 5.0(Windows NT 6.1; WOW64; rv:16.0)Gecko / /16.0”而不是正常的firefox字符串“Mozilla / 5.0(Windows NT 6.1; WOW64; rv:18.0)Gecko / 20100101 Firefox / 18.0“。控件的useragent字符串中缺少'20100101'和'Firefox'。有没有办法用C#改变它? 我使用C#winforms .net 4.5。

1 个答案:

答案 0 :(得分:11)

来自http://www.webprogrammingblog.com/geckofx-set-user-agent/

public Form1()
{
    InitializeComponent();
    Gecko.Xpcom.Initialize("c:\\tools\\xulrunner");
    myBrowser = new GeckoWebBrowser();
    myBrowser.Parent = this;
    myBrowser.Dock = DockStyle.Fill;

    string sUserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.1) Gecko/20090624 Firefox/3.5 (.NET CLR 3.5.30729)";
     Gecko.GeckoPreferences.User["general.useragent.override"] = sUserAgent;
}