https 证书实现
来源:互联网 发布:syslog 数据库 编辑:程序博客网 时间:2024/06/11 01:23
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.security.KeyStore;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.config.Registry;import org.apache.http.config.RegistryBuilder;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.socket.ConnectionSocketFactory;import org.apache.http.conn.socket.PlainConnectionSocketFactory;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.apache.log4j.Logger;/** * @version 1.0 */public class HttpsPost {private static Logger _log = Logger.getLogger(HttpsPost.class);private static PoolingHttpClientConnectionManager connMgr;private static RequestConfig requestConfig;private static final int MAX_TIMEOUT = 7000;static {connMgr = new PoolingHttpClientConnectionManager();connMgr.setMaxTotal(100);connMgr.setDefaultMaxPerRoute(connMgr.getMaxTotal());RequestConfig.Builder configBuilder = RequestConfig.custom();configBuilder.setConnectTimeout(MAX_TIMEOUT);configBuilder.setSocketTimeout(MAX_TIMEOUT);configBuilder.setConnectionRequestTimeout(MAX_TIMEOUT);requestConfig = configBuilder.build();}public static String doPost(String url, Map<String, String> params) {CloseableHttpClient httpclient = HttpClients.createDefault();String result = "";try {KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());File directory = new File("");try {System.out.println(directory.getCanonicalPath());System.out.println(directory.getAbsolutePath());} catch (Exception e) {}FileInputStream instream = new FileInputStream(new File("xxxx.keystore"));try {trustStore.load(instream, "mima".toCharArray());} finally {try {instream.close();} catch (Exception ignore) {}}SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);Scheme sch = new Scheme("https", 8443, socketFactory);Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("http", PlainConnectionSocketFactory.INSTANCE).register("https", socketFactory).build();PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry);httpclient = HttpClients.custom().setConnectionManager(connectionManager).setDefaultRequestConfig(requestConfig).build();HttpPost httppost = new HttpPost(url);UrlEncodedFormEntity uefEntity = null;List<NameValuePair> list = new ArrayList<NameValuePair>();Iterator iterator = params.entrySet().iterator();while (iterator.hasNext()) {Entry<String, String> elem = (Entry<String, String>) iterator.next();list.add(new BasicNameValuePair(elem.getKey(), elem.getValue()));}if (list.size() > 0) {uefEntity = new UrlEncodedFormEntity(list, Consts.UTF_8);}httppost.setEntity(uefEntity);System.out.println("executing request " + httppost.getURI());CloseableHttpResponse response = httpclient.execute(httppost);try {HttpEntity entity = response.getEntity();if (entity != null) {result = EntityUtils.toString(entity, Consts.UTF_8);System.out.println("--------------------------------------");System.out.println("Response content: " + result);System.out.println("--------------------------------------");_log.debug("Response content: " + result);}} finally {response.close();}} catch (Exception e) {e.printStackTrace();} finally {try {httpclient.close();} catch (IOException e) {e.printStackTrace();}}return result;}}https 带证书实现,使用httpcliet-4.5.3.jar、httpcore-4.4.6.jar 使用比较高的版本。
阅读全文
0 0
- https 证书实现
- weblogic制作证书实现HTTPS 完整版
- HTTPS 证书处理 objective-c实现
- Https请求忽略证书验证最新实现
- Apache+OpenSSL实现证书服务器提供HTTPS
- ios AFNetworking https 双向证书验证实现
- 自签名证书实现HTTPS请求
- 【spring boot】配置ssl证书实现https
- spring boot 配置ssl证书实现https
- 如何添加SSL证书实现https请求
- Https请求忽略证书验证最新实现
- https 证书
- https证书
- https证书
- https 证书
- https证书
- java实现 HTTP/HTTPS请求绕过证书检测代码实现
- java实现 HTTP/HTTPS请求绕过证书检测代码实现
- 《剑指offer》刷题笔记(数组):构建乘积数组
- 《Java源码分析》:LinkedHashMap
- 【TX1学习与开发系列】(一)介绍与刷机安装、配置
- java中数据结构(二)双链表总结
- 基于哈希的图像检索框架
- https 证书实现
- js中取得不同精度的时间,时间戳,时间差的方法
- iOS自定义身份证键盘
- 使用@WebServlet注解来开发Servlet
- 在中国杀死SAP
- 07next
- ML的常用算法整理
- ehcache配置参数详解
- 用java模拟登录正方教务系统,抓取课表和个人成绩等数据