Я пытаюсь проверить погоду на моем сервере jboss или нет или просто URL доступен или нет. Я достигаю того же, используя responseCode, то есть 200
для OK. Я могу сделать для HTTP, но не для HTTPS. Итак, мне нужен код ответа для HTTPS.Получить код ответа для подключения HTTPS
Я использую ниже код
HttpURLConnection urlCon = null;
URL url = new URL("http://localhost:8080/abc");
urlCon = (HttpURLConnection) url.openConnection();
System.out.println(urlCon.getResponseCode());
if(urlCon.getResponseCode() == 200)
{
System.out.println("Server is up");
}
отлично работает для HTTP
, но когда я пытаюсь то же самое для HTTPS
Это дает соединение отклонять или SSLhandshakeException
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:882)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318)
at com.de.base.tools.Sample.main(Sample.java:23)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:462)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)
... 9 more
Я попытался HttpURLConnection
к HttpsURLConnection
, но дает тот же
Кто-нибудь знает, как добраться responceCode()
за HTTPS
Спасибо.
Используете ли вы правильный порт для HTTPS? Серверы с HTTP 8080 _usually_ имеют HTTPS на 8443 (хотя ничего не требует этого). –
У меня есть config apache и есть порт для отправки 443 –
Вы сказали, что пытаетесь подключиться к Jboss, а не к Apache. Что он? Apache обычно использует стандартные порты, 80 для HTTP и 443 для HTTPS; Обычно Jboss этого не делает. –