Java HttpsURLConnectionの例
ここでは単純なJava HTTPSクライアントを使って、 `HttpsURLConnection`クラスを使ってHTTP GETリクエストを送信し、https URLのコンテンツと証明書の詳細を取得します。
P.Sこの例では興味があります:
HttpsURLConnectionを使ってWebサイトへのログインを自動化
HttpsClient.java
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();
}
}
}
}
出力…
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" ......