是否可以将http响应从Java传递给浏览器?

时间:2015-08-18 14:34:53

标签: java browser apache-commons-httpclient

我有一个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)传递给浏览器吗?这样我就可以完成剩余的过程。

1 个答案:

答案 0 :(得分:1)

这是一个类似的问题,可以让你在Firefox中获取cookie:Passing Cookies from Java to Browser

至于传递你的会话,可能不可能,尽管你可以用Firefox数据库做同样的事情。它肯定不是一个“即插即用”的解决方案,也不保证可以跨版本工作。

“传递HTML”可以通过在Java中创建Web服务器来完成。您可以使用一些库。

但是,所有这些都是hacky,在大多数情况下都不会起作用。

另一种方法是使用HtmlUnit点击程序中的链接,而无需打开真正的浏览器。