как исправить "сбой построения пути PKIX" с помощью кода java - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь узнать код состояния этого URL-адреса с помощью HttpUrlConnection. Фрагмент кода выглядит следующим образом:

  String url = https://www.mymax.com/;

  HttpURLConnection conn = null;

  try {
        conn = (HttpURLConnection) new URL(url).openConnection();
        conn = (HttpURLConnection) new URL(url).openConnection();
        conn.setRequestMethod("GET");

        conn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76 Safari/537.36");
        conn.setConnectTimeout(2000);
        conn.setInstanceFollowRedirects(false);
        conn.setReadTimeout(10000);
        conn.connect();
  }catch(Exception e) {
       System.out.println(e.getMessage());
  }

  responseCode = conn.getResponseCode();

Но для этого конкретного URL я получаю следующую ошибку: « sun.security.validator.ValidatorException: построение пути PKIX не удалось: sun.security.provider .certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели"

При изучении этой ошибки я получил одно исправление для установки сертификата для этого сайта в файл cacerts, присутствующий в jdk, с использованием keytool .

Есть ли другой способ решить эту проблему с помощью кода java и получить правильный код ответа с помощью HttpUrlConnection? Будет очень полезно, если кто-нибудь поделится кодом этого исправления. Мне действительно нужно получить коды ответов для таких сайтов, где возникает это исключение.

...