我的函数在java中工作,但当我把它放在javafx控制器中时,该函数只给出一个错误的布尔输出
“我的按钮”的功能,当按下该按钮时,会更改我的图像视图我的函数在java中工作,但当我把它放在javafx控制器中时,该函数只给出一个错误的布尔输出,java,javafx,Java,Javafx,“我的按钮”的功能,当按下该按钮时,会更改我的图像视图 public void checkWebsite(ActionEvent event) { String url = "https://" + urlInput; if (testConnectionTo(url) == true) { System.out.println("boolean true"); img.setImage(new Image("/image/safe.pn
public void checkWebsite(ActionEvent event) {
String url = "https://" + urlInput;
if (testConnectionTo(url) == true) {
System.out.println("boolean true");
img.setImage(new Image("/image/safe.png"));
} else if (testConnectionTo(url) == false) {
System.out.println("boolean false");
img.setImage(new Image("/image/unsafe.png"));
}
}
用于检查网站证书的功能
public static boolean testConnectionTo(String aURL) {
try {
URL destinationURL = new URL(aURL);
HttpsURLConnection conn = (HttpsURLConnection) destinationURL.openConnection();
conn.connect();
Certificate[] certs = conn.getServerCertificates();
for (Certificate cert : certs) {
if (cert instanceof X509Certificate) {
((X509Certificate) cert).checkValidity();
}
}
return true;
} catch (CertificateExpiredException e) {
return false;
} catch (Exception e) {
return false;
}
}
在我的java文件中,它工作得非常好(有效证书将返回true输出,无效证书将返回false输出)
但是,当我使用函数检查证书时,它只返回一个错误的输出,我不知道为什么。欢迎使用SO。请坐一会儿看看。请注意有关mcve和post title的信息。那么您抛出并捕获的是什么异常呢?从
testconnection
中删除异常处理,并查看堆栈跟踪。@DawoodibnKareem很抱歉,我不明白您的意思,我的编码不是很好CertificateExpiredException检查证书是否在到期日期内。顺便说一句:DawoodibnKareem试图告诉您的是:使用e.printStackTrace()
返回之前,请输入catch子句和问题,以包括打印到控制台的stacktrace。