我正在尝试使用HTMLUnit库连接到某个网站。问题是我的HTMLUnit客户端不接受来自该站点的cookie,并带有以下消息:
警告:Cookie被拒绝:“[版本: 0] [姓名:remixchk] [价值:5] [域名: .vkontakte.ru] [路径:/] [到期:星期二 2月21日08:53:46 MSK 2012]“。非法 域属性“vkontakte.ru”。 原产地:“login.vk.com”
这是因为登录表单被提交到与站点地址不同的地址。
我需要在客户端更改Cookie政策。我知道,我应该在getCookies
课程中重写一个CookieManager
方法。我在CookieManager
的子类中完成了此操作,然后以这种方式更改了我的客户端的CookieManager
:
webClient.setCookieManager(new mySubclassedCookieManager());
但这没有任何改变。此外,当拒绝cookie时,getCookies方法永远不会运行。
我哪里出错了?如何强制HTMLUnit接受该cookie?
答案 0 :(得分:1)
您不应该更改客户端:您应该更改应用程序的设计。在这种情况下,HTMLUnit可以执行任何真正的浏览器:拒绝cookie。出于安全(和隐私)原因,网站不得为其他域设置cookie。