All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hn.pay.wxpay.utils.AbstractHttpDelegate Maven / Gradle / Ivy

There is a newer version: 1.0.18
Show newest version
package com.hn.pay.wxpay.utils;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import cn.hutool.http.ssl.SSLSocketFactoryBuilder;

import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import java.io.FileInputStream;
import java.io.InputStream;
import java.security.KeyStore;
import java.security.SecureRandom;
import java.util.Map;

/**
 * 

Http 代理类

* * @author Javen */ public abstract class AbstractHttpDelegate { /** * get 请求 * * @param url 请求url * @return {@link String} 请求返回的结果 */ public String get(String url) { return HttpUtil.get(url); } /** * get 请求 * * @param url 请求url * @param paramMap 请求参数 * @return {@link String} 请求返回的结果 */ public String get(String url, Map paramMap) { return HttpUtil.get(url, paramMap); } /** * post 请求 * * @param url 请求url * @param data 请求参数 * @return {@link String} 请求返回的结果 */ public String post(String url, String data) { return HttpUtil.post(url, data); } /** * post 请求 * * @param url 请求url * @param paramMap 请求参数 * @return {@link String} 请求返回的结果 */ public String post(String url, Map paramMap) { return HttpUtil.post(url, paramMap); } /** * post 请求 * * @param url 请求url * @param data 请求参数 * @param certPath 证书路径 * @param certPass 证书密码 * @return {@link String} 请求返回的结果 */ public String post(String url, String data, String certPath, String certPass) { try { return HttpRequest.post(url) .setSSLSocketFactory(SSLSocketFactoryBuilder .create() .setProtocol(SSLSocketFactoryBuilder.TLSv1) .setKeyManagers(getKeyManager(certPass, certPath, null)) .setSecureRandom(new SecureRandom()) .build() ) .body(data) .execute() .body(); } catch (Exception e) { throw new RuntimeException(e); } } /** * post 请求 * * @param url 请求url * @param data 请求参数 * @param certFile 证书文件输入流 * @param certPass 证书密码 * @return {@link String} 请求返回的结果 */ public String post(String url, String data, InputStream certFile, String certPass) { try { return HttpRequest.post(url) .setSSLSocketFactory(SSLSocketFactoryBuilder .create() .setProtocol(SSLSocketFactoryBuilder.TLSv1) .setKeyManagers(getKeyManager(certPass, null, certFile)) .setSecureRandom(new SecureRandom()) .build() ) .body(data) .execute() .body(); } catch (Exception e) { throw new RuntimeException(e); } } private KeyManager[] getKeyManager(String certPass, String certPath, InputStream certFile) throws Exception { KeyStore clientStore = KeyStore.getInstance("PKCS12"); if (certFile != null) { clientStore.load(certFile, certPass.toCharArray()); } else { clientStore.load(new FileInputStream(certPath), certPass.toCharArray()); } KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); kmf.init(clientStore, certPass.toCharArray()); return kmf.getKeyManagers(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy