我想编写一个同时使用Apache 4.x lib和HtmlUnit的类。从本质上讲,我需要一些请求表现得像真正的浏览器,HtmlUnit很好地完成。 HtmlUnit的缺点是它很慢,我的许多请求都不需要它。
我知道在HtmlUnit中禁用css / javascript可以提高处理速度,但这还不够。我想实现HtmlUnit和Apache(或任何其他可以完成这项工作的东西)。
我唯一的要求是能够定义标头并传递cookie。
那么,是否有可能,例如:
所以我的问题是......我可以完成我想做的事情吗?或者,如果我采用错误的方式,是否有一种方法可以使用HtmlUnit大幅加快请求?我可以在HtmlUnit的WebClient
和Apache的HttpClient
之间共享CookieContainer吗?
答案 0 :(得分:0)
是的,这是可能的。我有时也这样做。在使用httpclient之前,您需要从htmlunit中提取cookie。你可以通过调用
来做到这一点Set<Cookie> cookies = webClient.getCookieManager().getCookies();
您可以遍历该集并提取您需要的任何Cookie。使用httpclient时,将cookie作为标题参数传递。它会起作用。