2014-06-25 99 views
1

我正在嘗試爲基於瀏覽器的遊戲創建簡單的機器人。我使用的是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 = "" 

請不要像「是的,你可以」回覆。我當然可以,我已經知道但是如何?我應該在哪裏編輯?

回答

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(); 

或什麼的。

你必須自己實現這個類。