HttpClient4.x调用指定证书访问https
2015-11-13 22:54
573 查看
代码如下:
package com.lala.http; import java.io.FileInputStream; import java.io.InputStream; import java.security.KeyStore; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class Http { public static SSLContext getSSLContext() throws Exception { KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); InputStream input = new FileInputStream("d:/tmp/trust2.jks"); ks.load(input, "123456".toCharArray()); TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(ks); SSLContext context = SSLContext.getInstance("TLSv1.2"); //这里只指定了受信任的证书(单向认证),如果是双向认证的话,则第一个参数不能为null context.init(null, tmf.getTrustManagers(), null); return context; } public static void main(String[] args) throws Exception { HttpClientBuilder builder = HttpClients.custom(); builder.setSSLContext(getSSLContext()); CloseableHttpClient httpclient = builder.build(); HttpGet httpget = new HttpGet("https://127.0.0.1:4488"); CloseableHttpResponse response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); String body = EntityUtils.toString(entity); System.out.println(body); response.close(); httpclient.close(); } }
相关文章推荐
- LVS搭建集群实现负载均衡-NAT模式
- 信号量、互斥锁,读写锁和条件变量的区别 http://blog.chinaunix.net/uid-20671208-id-4935154.html
- iOS中网络请求--AFNetworking
- 卷积神经网络在自然语言处理的应用
- Linux内核工程导论–网络:TCP连接
- 【已解决】This absolute uri http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or th
- ascyhttpclient 使用心得
- erlang http post 发送数据请求
- Post方式的Http流请求调用
- iOS网络请求,iOS 9新增加了Session请求
- 安卓TCP通信
- 判断网络状态
- HTTP协议基础
- HttpClient使用详解
- 给AFNetWorking添加http表头
- AFNetworking3.0网络请求方法封装(自带缓存功能)
- WMware Workstation 中几种网络连接的说明
- http://www.kwstu.com/ArticleView/kwstu_20144118313429
- VMware 虚拟机的网络连接方式详解
- OkHttp使用进阶