JAVA调用HTTPS接口


	public String callMemberInfoInterface(String request) throws Exception {
		if (logger.isInfoEnabled()) {
			logger.info("callMemberInfoInterface request : " + request);
		}
        // First create a trust manager that won't care.  
        X509TrustManager trustManager = new X509TrustManager() {  
            public void checkClientTrusted(X509Certificate[] chain,  
                    String authType) throws CertificateException {  
                // Don't do anything.  
            }  
  
            public void checkServerTrusted(X509Certificate[] chain,  
                    String authType) throws CertificateException {  
                // Don't do anything.  
            }  
  
            public X509Certificate[] getAcceptedIssuers() {  
                // Don't do anything.  
                return null;  
            }  
  
        };  
        // Now put the trust manager into an SSLContext.  
        SSLContext sslcontext = SSLContext.getInstance("SSL");  
        sslcontext.init(null, new TrustManager[] { trustManager }, null);  
  
        // Use the above SSLContext to create your socket factory  
        // (I found trying to extend the factory a bit difficult due to a  
        // call to createSocket with no arguments, a method which doesn't  
        // exist anywhere I can find, but hey-ho).  
        SSLSocketFactory sf = new SSLSocketFactory(sslcontext);  
        sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);  
  
        DefaultHttpClient httpclient = new DefaultHttpClient();  
        httpclient.getConnectionManager().getSchemeRegistry().register(new Scheme("https", sf, 443));  
        
        HttpGet httpPost = new HttpGet(request); 
        String result = "";  
        // Execute HTTP request  
        httpPost.setHeader("Authorization", "basic " + "dGNsb3VkYWRtaW46dGNsb3VkMTIz");   
        httpPost.setHeader("Content-type", "application/xml");  
  
        HttpResponse response = httpclient.execute(httpPost);  
        HttpEntity resEntity = response.getEntity();  
        InputStreamReader reader = new InputStreamReader(resEntity.getContent());  
  
        char[] buff = new char[1024];  
        int length = 0;  
        while ((length = reader.read(buff)) != -1) {  
            result += new String(buff, 0, length);  
        }  
        httpclient.getConnectionManager().shutdown();  
          
        if (logger.isInfoEnabled()) {
        	logger.info("callMemberInfoInterface >>>:" + new String(result.getBytes("GBK"), "UTF-8")); 
        }
        return result;
    }  


你可能感兴趣的:(JAVA调用HTTPS接口)