【问题标题】:Simple bot for browser based game用于基于浏览器的游戏的简单机器人
【发布时间】:2014-08-16 09:13:18
【问题描述】:

我正在尝试为基于浏览器的游戏创建简单的机器人。我用的是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 = ""

请不要回答“是的,你可以”。我当然可以,我已经知道了,但是怎么做呢?我应该在哪里编辑?

【问题讨论】:

    标签: c# http proxy bots gecko


    【解决方案1】:

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

    伪代码:

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

    或其他。

    你必须自己实现这个类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      相关资源
      最近更新 更多