0

I am getting the stack trace error below when I hit the line huc.connect with the code below to verify the URL exists. I can use the same link with HTTP instead of HTTPs and it works fine. I have also tried using HttpsURLConnection but had the same error in the stack trace. Is there another method I can use to verify that a URL exists?

URL u = new URL("https://www.postgresql.org/docs/9.4/static/catalogs.html"); 
//u.toURI();  //to check the syntax
HttpURLConnection huc =  (HttpURLConnection)u.openConnection();
huc.setRequestMethod("GET");
//huc.setRequestMethod("HEAD");
huc.connect(); 
System.out.println(huc.getResponseCode());

Strack Trace:

Exception in thread "main" javax.net.ssl.SSLException: Received fatal alert: protocol_version
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
    at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
    at UrlTester2.main(UrlTester2.java:31)
CRB806
  • 23
  • 3

1 Answers1

0

You may use Apache HttpClient to verify URLs, but your code should work if you upgrade to the latest version of Java 1.8.