Я пытаюсь подключиться к конечной точке https, сделав запрос GET с помощью клиента Java.конечная точка выглядит так: 'https://domain/path/{token}',but каждый раз, когда я делаю запрос, я получаю ' javax.net.ssl.SSLHandshakeException: получено фатальное предупреждение: handshake_failure ' Исключение, я просматривал много сайтов, нонеудачно.Интересно, что когда я делаю один и тот же запрос через POSTMAN с другого хоста (windows), он работает, также я копировал команду curl, сгенерированную из POSTMAN и запускающуюся на хосте, где работает мой клиент, он тоже там работает нормально.только код Java не может подключиться к конечной точке.Теперь мои вопросы:
---> это проблема с сертификатом.
---> если да, то как работает curl без сертификата.
Спасибо.
ПРИМЕЧАНИЕ. Следующее уже испробовано:
-> установить тот же набор HEADERS, который присутствует с командой curl для соединения с клиентом java.
-> также использовал альтернативные клиенты отдыха (okhttp3) и библиотеки HttpClient, но получил то же исключение.
Ниже приведена рабочая команда curl:
curl -X GET \
https://domain/x/y/XUwDummyTokenRKZ80EnxDCJlM \
-H 'Accept: */*' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Host:hostname' \
-H 'accept-encoding: gzip, deflate' \
-H 'cache-control: no-cache
и код клиента java, используемый для подключениядо конечной точки https:
public void printGetResult( String destUrlStr ) {
try {
URL url = new URL(destUrlStr);
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setRequestMethod( "GET" );
InputStream is = conn.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String inputLine;
while ((inputLine = br.readLine()) != null) {
System.out.println(inputLine);
}
br.close();
}catch(Exception e) {
System.out.println("exception is"+e);
}
}
Ожидаемый результат: json
(я знаю, что в моем запросе curl я установил accept как *, но он работает)
Фактический результат:
javax.net.ssl.SSLHandshakeException: получено фатальное предупреждение: handshake_failure