【发布时间】:2014-12-14 08:44:59
【问题描述】:
我正在尝试使用 HtmlUnit 2.15 模拟一个场景,其中 cookie 将在前一个会话中保存,并且应该在新会话中请求页面时发送到服务器。 这是那个的代码...
String url = "http://localhost:55545/";
String domain = "localhost:55545";
java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24);
CookieManager cookieManager = webClient.getCookieManager();
cookieManager.setCookiesEnabled(true);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR, 1);
Cookie cookie = new Cookie(domain, "cName", "cValue", "/", cal.getTime(), false);
cookieManager.addCookie(cookie);
webClient.setCookieManager(cookieManager);
HtmlPage page = null;
try {
page = webClient.getPage(url);
} catch (FailingHttpStatusCodeException e) {
System.err.print(e.toString());
return;
} catch (MalformedURLException e) {
System.err.print(e.toString());
return;
} catch (IOException e) {
System.err.print(e.toString());
return;
}
预期的行为是我应该在服务器上接收到 cookie “cName”,但是那里没有接收到 cookie。还通过代理(提琴手)验证请求我看到在第一个请求时 webclient 没有发送任何 Cookie 标头。
有人经历过吗?希望在我开始调试 HtmlUnit 库之前得到一些建议。
【问题讨论】:
标签: java cookies webclient htmlunit