httpclient3.x中使用HTTPS的方法

来源:互联网 发布:数据分析师能力要求 编辑:程序博客网 时间:2024/06/05 14:49

      HttpClient请求https的实例:

import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.ResponseHandler;import org.apache.http.client.methods.HttpGet;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.scheme.SchemeSocketFactory;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.BasicResponseHandler;import org.apache.http.impl.client.ClientParamsStack;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.params.DefaultedHttpParams;import org.apache.http.params.HttpParams;public class HttpClientTest {public static void main(String args[]) {try {HttpClient httpclient = new DefaultHttpClient();                        //Secure Protocol implementation.SSLContext ctx = SSLContext.getInstance("SSL");                        //Implementation of a trust manager for X509 certificatesX509TrustManager tm = new X509TrustManager() {public void checkClientTrusted(X509Certificate[] xcs,String string) throws CertificateException {}public void checkServerTrusted(X509Certificate[] xcs,String string) throws CertificateException {}public X509Certificate[] getAcceptedIssuers() {return null;}};ctx.init(null, new TrustManager[] { tm }, null);SSLSocketFactory ssf = new SSLSocketFactory(ctx);ClientConnectionManager ccm = httpclient.getConnectionManager();                        //register https protocol in httpclient's scheme registrySchemeRegistry sr = ccm.getSchemeRegistry();sr.register(new Scheme("https", 443, ssf));HttpGet httpget = new HttpGet("");HttpParams params = httpclient.getParams();params.setParameter("param1", "paramValue1");httpget.setParams(params);System.out.println("REQUEST:" + httpget.getURI());ResponseHandler responseHandler = new BasicResponseHandler();String responseBody;responseBody = httpclient.execute(httpget, responseHandler);System.out.println(responseBody);// Create a response handler} catch (NoSuchAlgorithmException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception ex) {ex.printStackTrace();}}}


0 1