少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          Here’s a simple Java HTTPS client to demonstrate the use of HttpsURLConnection class to print a https URL content and certificate detail.

          Access https URL : https://www.google.com/


          package com.mkyong.client;
           
          import java.net.MalformedURLException;
          import java.net.URL;
          import java.security.cert.Certificate;
          import java.io.*;
           
          import javax.net.ssl.HttpsURLConnection;
          import javax.net.ssl.SSLPeerUnverifiedException;
           
          public class HttpsClient{
           
             public static void main(String[] args)
             {
                  new HttpsClient().testIt();
             }
           
             private void testIt(){
           
                String https_url = "https://www.google.com/";
                URL url;
                try {
           
          	     url = new URL(https_url);
          	     HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
           
          	     //dumpl all cert info
          	     print_https_cert(con);
           
          	     //dump all the content
          	     print_content(con);
           
                } catch (MalformedURLException e) {
          	     e.printStackTrace();
                } catch (IOException e) {
          	     e.printStackTrace();
                }
           
             }
           
             private void print_https_cert(HttpsURLConnection con){
           
              if(con!=null){
           
                try {
           
          	System.out.println("Response Code : " + con.getResponseCode());
          	System.out.println("Cipher Suite : " + con.getCipherSuite());
          	System.out.println("\n");
           
          	Certificate[] certs = con.getServerCertificates();
          	for(Certificate cert : certs){
          	   System.out.println("Cert Type : " + cert.getType());
          	   System.out.println("Cert Hash Code : " + cert.hashCode());
          	   System.out.println("Cert Public Key Algorithm : " + cert.getPublicKey().getAlgorithm());
          	   System.out.println("Cert Public Key Format : " + cert.getPublicKey().getFormat());
          	   System.out.println("\n");
          	}
           
          	} catch (SSLPeerUnverifiedException e) {
          		e.printStackTrace();
          	} catch (IOException e){
          		e.printStackTrace();
          	}
           
               }
           
             }
           
             private void print_content(HttpsURLConnection con){
          	if(con!=null){
           
          	try {
           
          	   System.out.println("****** Content of the URL ********");			
          	   BufferedReader br = 
          		new BufferedReader(
          			new InputStreamReader(con.getInputStream()));
           
          	   String input;
           
          	   while ((input = br.readLine()) != null){
          	      System.out.println(input);
          	   }
          	   br.close();
           
          	} catch (IOException e) {
          	   e.printStackTrace();
          	}
           
                 }
           
             }
           
          }

          Output…

          Response Code : 200
          Cipher Suite : SSL_RSA_WITH_RC4_128_SHA
           
          Cert Type : X.509
          Cert Hash Code : 7810131
          Cert Public Key Algorithm : RSA
          Cert Public Key Format : X.509
           
          Cert Type : X.509
          Cert Hash Code : 6042770
          Cert Public Key Algorithm : RSA
          Cert Public Key Format : X.509
           
          ****** Content of the URL ********
          <!doctype html><html><head><meta http-equiv="content-type" ......
          posted on 2012-08-16 00:17 abin 閱讀(1924) 評論(1)  編輯  收藏 所屬分類: httpClient

          Feedback

          # re: Java HTTPS Client – HttpsURLConnection Example 2014-09-27 21:55 help
          把地址改為https://member.my089.com/,程序報錯,是什么原因呢  回復  更多評論
            

          主站蜘蛛池模板: 高州市| 杭锦旗| 仙居县| 邵阳县| 饶平县| 兴安盟| 古丈县| 南靖县| 治多县| 镇平县| 剑川县| 中西区| 嘉鱼县| 南木林县| 淮南市| 会昌县| 全南县| 安义县| 余干县| 阿拉善右旗| 高密市| 太仓市| 肃宁县| 莎车县| 简阳市| 柳江县| 射阳县| 巧家县| 文成县| 岚皋县| 宁津县| 天峻县| 乌兰察布市| 台北市| 抚州市| 武陟县| 黄龙县| 民和| 晋中市| 南召县| 西昌市|