基于浏览器的游戏简单机器人

时间:2014-06-25 17:22:19

标签: c# http proxy bots gecko

我正在尝试为基于浏览器的游戏创建简单的机器人。我使用的是GecoFX,它非常完美。我可以用那个库做我想做的一切。 (张贴表格,获取价值,点击按钮等所需的一切)。我也可以在GeckoFX上使用代理。但我在使用这个库时遇到了大麻烦。当您设置一次代理时,它是全局的。我的意思是你设置了一个代理并创建了2个geckoFX控件,它们都使用相同的代理和相同的cookie。当geckoFX1登录游戏时,如果你使用geckoFX2访问相同的URL,则页面与geckoFX1相同。因为他们的配置文件是相同的,使用相同的cookie和代理... 我该怎么办?你知道另一种方法来完成我的工作吗? geckoFX也是开源项目。我可以编辑代理和配置文件属性以使其不全局吗?

这是您设置代理的方式:

Gecko.GeckoPreferences.User["network.proxy.ssl"] = txtIP.Text;
Gecko.GeckoPreferences.User["network.proxy.ssl_port"] = intPort;
Gecko.GeckoPreferences.User["network.proxy.type"] = 1;
Gecko.ProfileDirectory = ""; // That property stores cookies

也许我可以编辑并制作如下:

geckoWebBrowser1.Preferences.User["proxy"] = IP;
geckoWebBrowser1.Preferences.User["proxy"] = Port;
geckoWebBrowser1.Preferences.User["proxy"] = IP;
geckoWebBrowser1.PorfileDir = ""

请不要回复#34;是的,你可以"。我当然可以,我已经知道但是怎么样?我应该在哪里编辑?

1 个答案:

答案 0 :(得分:0)

创建一个执行您希望它执行的操作的类,然后根据该类创建2个对象。通过这种方式,您可以隔离它们,它们不再相互影响。然后,在main()方法中,初始化它们:

伪代码:

GeckoContainer gkc1 = new GeckoContainer(127.0.0.1, 1142);
GeckoContainer gkc2 = new GeckoContainer(127.0.0.1, 1123);
gkc1.Start();
gkc2.Start();

或其他什么。

你必须自己实施课程。