我正在尝试更多地了解HTMLunit并进行一些测试。我正在尝试从此站点获取页面标题和文本等基本信息:
https://....com(删除了完整的网址,重要的是它是https)
我使用的代码就是这样,在其他网站上运行正常:
final WebClient webClient = new WebClient();
final HtmlPage page;
page = (HtmlPage)webClient.getPage("https://medeczane.sgk.gov.tr/eczane/login.jsp");
System.out.println(page.getTitleText());
System.out.println(page.asText());
为什么我不能获得这些基本信息?如果是因为安全措施,具体是什么,我可以绕过它们吗?感谢。
编辑:嗯,代码在webclient.getpage()之后停止工作; ,test2没有写。所以我无法检查页面是否为空。
final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_2);
final HtmlPage page;
System.out.println("test1");
try {
page = (HtmlPage)webClient.getPage("https://medeczane.sgk.gov.tr/eczane/login.jsp");
System.out.println("test2");
答案 0 :(得分:12)
我通过添加以下代码解决了这个问题:
webClient.setUseInsecureSSL(true);
这是禁用安全SSL的弃用方式。在当前的HtmlUnit版本中,你必须这样做:
webClient.getOptions().setUseInsecureSSL(true);
答案 1 :(得分:1)
我认为这是一个身份验证问题 - 如果我在Firefox中访问该页面,我会收到一个登录框。
尝试
webClient.setAuthentication(realm,username,password);
在调用getPage()之前