HttpsUrlInfo.java - HTTPS URL Information

Q

How to get more information about the HTTP URL object? It is created as "new java.net.URL(...)".

✍: FYIcenter

A

If you created a URL object with "new java.net.URL(...)", you can use the sample Java code to get more information about the URL object:

// Copyright (c) FYIcenter.com
import java.net.*;
import java.io.*;

public class HttpsUrlInfo {
   public static void main(String[] args) throws Exception {
     
    URL url = new URL("https://www.oracle.com/");
    System.out.println();
    System.out.println("URL Information");
    System.out.println("   URL Class Name: "+url.getClass().getName());
    System.out.println("   URL as String: "+url.toString());
    System.out.println("   URL Protocol: "+url.getProtocol());

    System.out.println();
    System.out.println("Connection Information");
    URLConnection con = url.openConnection();
    System.out.println("   Connection Class Name: "+con.getClass().getName());
    System.out.println("   Connection as String: "+con.toString());
   }
}

You can compile and run the above example in a command window:

\fyicenter>\local\jdk-1.8.0\bin\javac HttpsUrlInfo.java

\fyicenter>\local\jdk-1.8.0\bin\java HttpsUrlInfo

URL Information
   URL Class Name: java.net.URL
   URL as String: https://www.oracle.com/
   URL Protocol: https

Connection Information
   Connection Class Name: sun.net.www.protocol.https.HttpsURLConnectionImpl
   Connection as String: sun.net.www.protocol.https.DelegateHttpsURLConnection:
      https://www.oracle.com/

The output confirms that the sun.net.www.protocol.https.HttpsURLConnectionImpl implementation class of the JSSE API is actually used to support HTTPS communication.

You can also specify which implementation class to use with the java.protocol.handler.pkgs system property as shown below:

\fyicenter>\local\jdk-1.8.0\bin\java 
   -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol 
   HttpsUrlInfo

URL Information
   URL Class Name: java.net.URL
   URL as String: https://www.oracle.com/
   URL Protocol: https

Connection Information
   Connection Class Name: com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl
   Connection as String: com.sun.net.ssl.internal.www.protocol.https.DelegateHttpsURLConnection:
      https://www.oracle.com/

 

GetServerCertificate.java - Get Server Certificate

SSL Handshake Message Examples

Examples for jsse.jar - Java Secure Socket Extension

⇑⇑ FAQ for jsse.jar - Java Secure Socket Extension

2018-03-24, 1921🔥, 0💬