/**
* 方法描述:微信请求post
*
* @param url 请求地址
* @param param 请求参数
* @param certPath 证书地址
* @param certPass 证书密码
* @return java.lang.String
*/
public static String post(String url, Map<String, Object> param, String certPath, String certPass) {
String result = null;
try {
result = HttpRequest.post(url)
.setSSLSocketFactory(SSLSocketFactoryBuilder
.create()
.setProtocol(SSLSocketFactoryBuilder.TLSv1)
.setKeyManagers(getKeyManager(certPass, certPath))
.setSecureRandom(new SecureRandom())
.build()
)
.form(param)
.execute()
.body();
} catch (Exception e) {
log.error("微信请求系统异常,url:{},param:{},e:{}", url, new JSONObject(param), e.getMessage());
}
return result;
}
private static KeyManager[] getKeyManager(String certPass, String certPath) throws
Exception {
KeyStore clientStore = KeyStore.getInstance("PKCS12");
clientStore.load(new FileInputStream(certPath), certPass.toCharArray());
KeyManagerFactory kmf =
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(clientStore, certPass.toCharArray());
return kmf.getKeyManagers();
}