我有一个apache HttpClient的页面
CookieStore cookieStore = new BasicCookieStore();
HttpContext localContext = new BasicHttpContext();
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
HttpGet request = new HttpGet("http://mywebsite.com");
request.addHeader("User-Agent", "Mozilla/5.0");
HttpClient client = HttpClientBuilder.create().build();
try {
HttpResponse response = client.execute(request, localContext);
} catch (IOException e) {
e.printStackTrace();
}
我需要手动点击此页面中的链接
我可以将整个响应(html,session,cookie)传递给浏览器吗?这样我就可以完成剩余的过程。
答案 0 :(得分:1)
这是一个类似的问题,可以让你在Firefox中获取cookie:Passing Cookies from Java to Browser
至于传递你的会话,可能不可能,尽管你可以用Firefox数据库做同样的事情。它肯定不是一个“即插即用”的解决方案,也不保证可以跨版本工作。
“传递HTML”可以通过在Java中创建Web服务器来完成。您可以使用一些库。
但是,所有这些都是hacky,在大多数情况下都不会起作用。
另一种方法是使用HtmlUnit点击程序中的链接,而无需打开真正的浏览器。