HttpClient4.3.x请求https的解决方案
来源:互联网 发布:剑三南风萝莉捏脸数据 编辑:程序博客网 时间:2024/05/21 01:32
转自百度经验
http://jingyan.baidu.com/article/e52e3615a2b18f40c60c51d1.html
-------------------------------------------------------------------------
需要的jar包
jdk
httpclient-4.3*.jar
------------------------
import java.security.KeyManagementException;import java.security.KeyStoreException;import java.security.NoSuchAlgorithmException;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.SSLContext;import org.apache.http.client.HttpClient;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.conn.ssl.SSLContextBuilder;import org.apache.http.conn.ssl.TrustStrategy;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;public class IgnoreSSLUtils {public static HttpClient client;static {client = createSSLClientDefault();}public static CloseableHttpClient createSSLClientDefault() {try {SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {// 信任所有@Overridepublic boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {return true;}}).build();SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);return HttpClients.custom().setSSLSocketFactory(sslsf).build();} catch (KeyManagementException e) {e.printStackTrace();} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (KeyStoreException e) {e.printStackTrace();}return HttpClients.createDefault();}}使用方法
HttpPost post = new HttpPost("https://.....");BasicHttpEntity paramEntity = new BasicHttpEntity();paramEntity.setContent(new ByteArrayInputStream(json.getBytes("UTF-8")));paramEntity.setContentLength(json.getBytes("UTF-8").length);paramEntity.setContentType("application/json");// setHeaderpost.addHeader("Content-type","application/json");// setEntitypost.setEntity(paramEntity);// 执行请求并得到返回结果HttpClient client = HttpClientUtils.client;HttpResponse response = client.execute(post);HttpEntity entity = response.getEntity();
0 0
- HttpClient4.3.x请求https的解决方案
- httpclient4.x处理https协议请求
- HttpClient4.3.3 https请求
- httpclient4.x 使用连接池发送https请求使用总结
- httpclient4.x 使用连接池发送https请求
- httpclient4.x访问https
- httpclient4.x代理请求
- HttpClient4.x 多线程请求
- httpClient4.3发送https请求
- HttpClient4.3.6版本以上的http和https请求写法
- (转) httpclient4.x 使用连接池发送https请求使用总结
- 使用httpclient4.3.X模拟post请求登陆网站获取cookie信息的操作
- HttpClient4.X发送带参数的POST请求
- HttpClient4.X发送带参数的Get请求
- HttpClient4.X发送带参数的Get请求
- httpclient4.3.x模拟post及get请求
- HttpClient4.x调用指定证书访问https
- HttpClient4.x客户端身份验证(HTTPS安全连接)
- Python基础入门教程(4)(数据类型)
- OpenCV3速查手册1:OpenCV安装深入理解
- win7下apache2.4配置
- Ubuntu16.04LTS安装搜狗输入法失败原因加总结
- 开源权限控制框架Uniauth简介
- HttpClient4.3.x请求https的解决方案
- js方法随机生成一个流水号
- cdh5.7权限测试示例
- 数据导入DataGridview
- Module build.gradle 中compileSdkVersion,targetSdkVersion,minSdkVersion,buildToolsVersion以及兼容包版本设置
- Windows下使用Boost库的安装
- Qt图形视图框架到底效率如何?
- 数据解析JSON/XML
- js 导图