Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GeckoFX新用户代理每个选项卡/浏览器控件_C#_Vb.net_User Agent_Geckofx - Fatal编程技术网

C# GeckoFX新用户代理每个选项卡/浏览器控件

C# GeckoFX新用户代理每个选项卡/浏览器控件,c#,vb.net,user-agent,geckofx,C#,Vb.net,User Agent,Geckofx,我正在编写一个有几个选项卡的程序。每个标签上都有一个壁虎。我尝试了很多方法,但不幸的是,当我打开新选项卡并创建第二个浏览器控件时,用户代理发生了更改,第一个浏览器控件的用户代理也发生了更改 有什么想法吗 我希望每个browsercontrol有一个UserAgent Dim页面作为新TabPage(“Tab”&Tabcontrol\u Main.TabPages.Count.ToString) 将sUserAgent设置为String=“Tab”&Tabcontrol\u Main.TabPag

我正在编写一个有几个选项卡的程序。每个标签上都有一个壁虎。我尝试了很多方法,但不幸的是,当我打开新选项卡并创建第二个浏览器控件时,用户代理发生了更改,第一个浏览器控件的用户代理也发生了更改

有什么想法吗

我希望每个browsercontrol有一个UserAgent

Dim页面作为新TabPage(“Tab”&Tabcontrol\u Main.TabPages.Count.ToString)
将sUserAgent设置为String=“Tab”&Tabcontrol\u Main.TabPages.Count.ToString
Tabcontrol\u Main.TabPages.Add(第页)
Dim浏览器作为新的GeckoWebBrowser
browser.Name=“browser”&Tabcontrol\u Main.TabPages.Count.ToString-1
GeckoPreferences.User.SetCharPref(“general.useragent.override”,RandomUserAgent(sUserAgent))
页面.控件.添加(浏览器)
browser.Dock=DockStyle.Fill

通过GeckoPreferences设置useragent对流程来说确实是全局的

如果以编程方式导航每个选项卡,则可以在每个
Navigate
调用的请求头中设置用户代理

Navigate(string url, GeckoLoadFlags loadFlags, string referrer, MimeInputStream postData, MimeInputStream headers)

MimeInputStream headers= MimeInputStream.Create();
string simpleData = "User-Agent=hello";
headers.SetData(simpleData);

如果您还希望在每个选项卡中进行进一步导航时设置用户代理,那么我想,您必须侦听每个导航并修改每个导航。

要完成信息集,我将在这里写下我发现的内容:它与XPCom驱动程序有关。要以其他方式执行此操作,必须多次对其进行初始化。但我不知道这是否可能。另一种方法是检查Firefoxplugins是否可加载并使用其中一个。另一种方法是使用自己的XPCom初始化创建自定义Usercontrol。但是,就目前而言,你的答案是最简单的。编程有点复杂,但最简单。非常感谢你!(该死,我的拼写不好)