• HttpClient_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 certificates
                X509TrustManager 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 registry
                SchemeRegistry 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 block
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception ex) {
                ex.printStackTrace();
    
            }
        }
    }
  • 相关阅读:
    多线程执行有返回值有参数的方法
    当连续进行多个请求,并且请求的url地址相同时。放弃前面的所有请求,只执行最后一次请求。
    防止重复发送Ajax请求的解决方案
    多行文本溢出显示省略号
    h5 文件跨域上传
    完美解决 IOS系统safari5.0 浏览器页面布局iframe滚动条失效问题,iossafari5.0
    CSS3 修改和去除移动端点击事件出现的背景框 (tap-highlight-color)
    去除img之间的空白
    手机上点击a标签是出现阴影解决办法
    idea通过maven构建springMVC+mybatis项目
  • 原文地址:https://www.cnblogs.com/gisblogs/p/4626367.html
Copyright © 2020-2023  润新知