1、WebClientDevWrapper
package cn.edu.nuc.https;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.client.HttpClient;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
public class WebClientDevWrapper {
public static HttpClient wrapClient(HttpClient base) throws Exception {
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException {
}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException {
}
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[0];
}
};
ctx.init(null, new TrustManager[]{tm}, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx);
ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = base.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme("https", ssf, 443));
return new DefaultHttpClient(ccm, base.getParams());
}
}
package cn.edu.nuc.https;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class TestHttps {
public void testHttpGet() throws Exception {
HttpClient client =WebClientDevWrapper.wrapClient(new DefaultHttpClient());
/*HttpPost post = new HttpPost("https://localhost:8443/login");
// StringEntity entity = new StringEntity("user=test@abc.com&pwd=111&type=x");
// post.setEntity(entity);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("user", "test@abc.com"));
nameValuePairs.add(new BasicNameValuePair("pwd", "111"));
nameValuePairs.add(new BasicNameValuePair("type", "x"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));*/
// 访问支付宝
HttpGet httpget = new HttpGet("https://www.alipay.com/");
HttpResponse res = client.execute(httpget);
System.out.println(res.getStatusLine());
BufferedReader br = new BufferedReader(new InputStreamReader(res.getEntity().getContent(),"utf-8"));
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
client.getConnectionManager().shutdown();
}
public static void main(String...strings) throws Exception {
new TestHttps().testHttpGet();
}
}