2012-03-21 6 views
0

私はいくつかのページがHTTPとHTTPSのいくつかのページにあります。 HTTPページでHTTPSの値を取得する必要があります。 JavaとTomcat 7を使用しています。実際には、request.getparameter()を使用してJSPページの値を取得しました。しかし、スペースと '@'記号は、いくつかの余分な記号を示す暗号化された値に似ています。どのように問題を解決するために言うことができます。HTTPでHTTPSコンテンツを取得する

ありがとうございます。

+1

は、あなたの質問を理解するために少しより多くの情報が必要。おそらくいくつかのコードを共有します。 – dbrin

答えて

1

javax.net.ssl.HttpsURLConnectionを使用できます。以下の例に従ってください:

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" ...... 
+0

「何かが間違っている」このコンテンツは結果として出てくる –

関連する問題