Почему HTMLunit не работает на этой веб-странице https? - PullRequest
4 голосов
/ 17 марта 2011

Я пытаюсь узнать больше о HTMLunit и сейчас делаю несколько тестов. Я пытаюсь получить основную информацию, такую ​​как заголовок страницы и текст с этого сайта:

https: //....com (удален полный URL, важная часть в том, что это 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");

Ответы [ 2 ]

12 голосов
/ 18 марта 2011

Я решил это, добавив следующую строку кода:

webClient.setUseInsecureSSL(true);

, который является устаревшим способом отключения безопасного SSL. В текущей версии HtmlUnit вы должны сделать:

webClient.getOptions().setUseInsecureSSL(true);
1 голос
/ 17 марта 2011

Я думаю, что это проблема аутентификации - если я перехожу на эту страницу в Firefox, я получаю окно для входа.

Попробуйте

webClient.setAuthentication(realm,username,password);

довызовите getPage ()

...