博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
httpclient中使用HTTPS的方法
阅读量:7080 次
发布时间:2019-06-28

本文共 2762 字,大约阅读时间需要 9 分钟。

hot3.png

      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();		}	}}

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/u/2260184/blog/518514

你可能感兴趣的文章
java.security.SecureRandom源码分析
查看>>
双向自动文件同步--unison
查看>>
我的友情链接
查看>>
用 Python 脚本实现对 Linux 服务器的监控
查看>>
详解Samba安装和配置文件
查看>>
我的友情链接
查看>>
Android学习笔记之文件的保存与读取
查看>>
mysql数据库详解(续二)
查看>>
我的友情链接
查看>>
通过简单设置让CACTI支持中文显示
查看>>
WAF+SLB负载不均衡案例分享
查看>>
我的友情链接
查看>>
java final关键字
查看>>
磁盘分配
查看>>
Android 闪光灯
查看>>
linue查看当前所有文件夹空间大小
查看>>
Wireshark工具创建过滤器的方式ARP协议全面实战手册
查看>>
PHP设计模式13-原型模式
查看>>
AWR报告输出前的参数SnapId有空段无法跨越
查看>>
易信简单开启邮件提醒
查看>>