【发布时间】:2011-02-06 19:52:52
【问题描述】:
我在使用 Htmlunit 时遇到问题,我在调用 getpage 之前禁用了 JavaScript 并将超时设置为 10000,我预计超时后会出现异常,但 htmlunit 会一直等待。
经过一番搜索,我意识到有人在 2009 年遇到了同样的问题 (Connection timeout not working),他抱怨“连接超时不起作用”以及超时中的某些值不起作用,但直到 2011 年才得到任何答案.
有人here 询问抛出了什么异常,但我认为它并不总是抛出它。我也无法从Apache HttpClient setTimeout 得到答案。您可以在Terminate or Stop HtmlUnit 中看到另一个人询问超时停止。
你试试就知道有多疯狂了:
milisecReqTimeout = 10;
while(true)
{
_webclient.setTimeout(milisecReqTimeout);
milisecReqTimeout = milisecReqTimeout + 10;
_htmlpage = _webclient.getPage(url);
}
【问题讨论】:
-
为什么不为 Jaxer 替换 HtmlUnit?
-
将您的 cookie 会话数据保存在一个文件中,然后在许多 webclient 实例上并行加载它。也许它也可以帮助你:stackoverflow.com/questions/2237286/…
-
你也可以用[如何让2个HtmlUnit的WebClients使用相同的cookies?]:stackoverflow.com/questions/3043745/…
-
使用@aboutuigrid 评论网址stackoverflow.com/questions/3043745/… 创建登录提供程序并将其用作访问者。