我有一个网站,其中一些页面是HTTP,另一些是HTTPS。我需要在HTTP页面获取HTTPS的值。我正在使用Java和Tomcat 7.实际上我使用request.getparameter()
获得了JSP页面中的值。但在那个空格和'@'符号就像加密值显示一些额外的符号。请问如何解决这个问题。
提前致谢。
答案 0 :(得分: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" ......