Я хотел бы контролировать простой URL-адрес. Но когда его https-сервер, я получаю сообщение handshake exception. Его можно проверить состояние https url, как браузер использовать для подключения? (без локального сертификата). Я не знаю, как делают браузеры, чтобы получить контент с https-url, но я хотел бы сделать то же самое. Без необходимости хранить конкретный сертификат для каждого сервера. Мониторинг https должен быть кем угодно.Мониторинг HTTPS-соединения с классом URL (Java)
try {
URL u = new URL(row.getUrl());
String protocol = u.getProtocol();
if(protocol.equals("https")) {
HttpsURLConnection hc = (HttpsURLConnection)u.openConnection();
System.out.println("Response Code: " + hc.getResponseCode());
hc.disconnect();
}
if(protocol.equals("http")) {
u.openConnection();
u.getContent();
}
System.out.println("url is up.");
} catch (Exception e) {
(...)
}
Доверен ли серверный сертификат? То есть подписанный ЦС и не истек? Если нет, то вам, возможно, придется сделать некоторые уговоры, чтобы заставить его работать правильно. Принятие самоподписанных сертификатов может потребовать дополнительной работы. –
нет, это должен быть любой хост, который вам нравится проверять наличие. –