[英]Why doesn't HTMLunit work on this https webpage?
我正在尝试更多地了解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");
我通过添加以下代码解决了这个问题:
webClient.setUseInsecureSSL(true);
这是一种禁用安全SSL的弃用方式。 在当前的HtmlUnit版本中,您必须执行以下操作:
webClient.getOptions().setUseInsecureSSL(true);
我认为这是一个身份验证问题 - 如果我在Firefox中找到该页面,我会得到一个登录框。
尝试
webClient.setAuthentication(realm,username,password);
在调用getPage()之前
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.