2011-02-28 96 views
3

我正嘗試使用HTMLUnit庫連接到某個網站。一個問題是,我的HtmlUnit客戶端不從該網站與下面的消息接受一個cookie:HTMLUnit拒絕cookie

警告:Cookie的拒絕:「[版本: 0] [名稱:remixchk] [值:5] [域: .vkontakte.ru] [路徑:/] [到期:星期二 Feb 21 08:53:46 MSK 2012]「。非法 域屬性「vkontakte.ru」。 域名起源:「login.vk.com」

這是因爲登錄表單被提交到與站點地址不同的地址。

我需要更改我的客戶端中的cookie策略。我知道,我應該在CookieManager類中重寫getCookies方法。我已經在CookieManager一個子類,這樣做,然後以這種方式改變了我的客戶的CookieManager

webClient.setCookieManager(new mySubclassedCookieManager()); 

但是,這改變不了什麼。而且,當拒絕cookie時,getCookies方法永遠不會運行。

我哪裏出錯了?我如何強制HTMLUnit接受該cookie?

回答

1

你不應該改變客戶端:你應該改變你的應用程序的設計。在這種情況下,HTMLUnit會執行任何真正的瀏覽器都會執行的操作:拒絕Cookie。出於安全(和隱私)的原因,網站可能不會爲其他域設置cookie。

+2

JB Nizet,實際上我使用任何瀏覽器登錄到該網站。所以問題出現在HTMLUnit中。 – KutaBeach 2011-02-28 09:13:51