【发布时间】:2009-07-23 17:35:13
【问题描述】:
我想监控一个简单的网址。但是当它是一个 https 服务器时,我得到一个 握手异常。是否可以以浏览器连接的方式验证 https url 的状态? (没有本地证书)。我不知道浏览器如何从 https url 获取内容,但我想以同样的方式。无需为每个服务器存储特定的证书。被监控的 https 应该是任何人。
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) {
(...)
}
【问题讨论】:
-
服务器的证书是否可信? IE。由 CA 签署且未过期?如果没有,那么您可能需要进行一些哄骗才能使其正常工作。接受自签名证书可能需要额外的工作。
-
不,应该是您喜欢测试可用性的任何主机。
标签: java url ssl https monitoring