微信红包接口 java_【java微信开发】红包接口调用
//import相關類
import?java.io.FileInputStream;
import?java.security.KeyStore;
import?java.util.Date;
import?java.util.List;
import?java.util.Map;
import?javax.net.ssl.KeyManagerFactory;
import?javax.net.ssl.SSLContext;
import?javax.net.ssl.SSLSocketFactory;
import?javax.net.ssl.TrustManager;
import?org.apache.commons.logging.Log;
import?org.apache.commons.logging.LogFactory;
import?org.apache.http.HttpEntity;
import?org.apache.http.client.methods.CloseableHttpResponse;
import?org.apache.http.client.methods.HttpPost;
import?org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import?org.apache.http.entity.StringEntity;
import?org.apache.http.impl.client.CloseableHttpClient;
import?org.apache.http.impl.client.HttpClients;
import?org.apache.http.util.EntityUtils;
import?org.springframework.web.context.ContextLoader;
//加載密鑰
KeyStore?clientKeyStore?=?KeyStore.getInstance("PKCS12");
clientKeyStore.load(new?FileInputStream(,?);
//加載密鑰
KeyStore?clientTrustKeyStore?=?KeyStore.getInstance("PKCS12");
clientTrustKeyStore.load(new?FileInputStream(,?);
//密鑰工廠
KeyManagerFactory?kmf?=?KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(clientKeyStore,?);
//通道信任
TrustManager[]?tm?=?{?new?MyX509TrustManager()?};
//通道協議
SSLContext?sslContext?=?SSLContext.getInstance("TLSv1");
sslContext.init(kmf.getKeyManagers(),?tm,?new?java.security.SecureRandom());
//通道工廠
SSLSocketFactory?socketFactory?=?sslContext.getSocketFactory();
//創建通道端口
SSLConnectionSocketFactory?sslsf?=?new?SSLConnectionSocketFactory(socketFactory,?SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
CloseableHttpClient?httpclient?=?HttpClients.custom().setSSLSocketFactory(sslsf).build();
//開始調用
HttpPost?httppost?=?new?HttpPost();
httppost.addHeader("Connection",?"keep-alive");
httppost.addHeader("Accept",?"*/*");
httppost.addHeader("Content-Type",?"application/x-www-form-urlencoded;?charset=UTF-8");
httppost.addHeader("Host",?"api.mch.weixin.qq.com");
httppost.addHeader("X-Requested-With",?"XMLHttpRequest");
httppost.addHeader("Cache-Control",?"max-age=0");
httppost.addHeader("User-Agent",?"Mozilla/4.0?(compatible;?MSIE?8.0;?Windows?NT?6.0)?");
httppost.setEntity(new?StringEntity(,?"utf-8"));
//調用
CloseableHttpResponse?response?=?httpclient.execute(httppost);
HttpEntity?entity?=?response.getEntity();
//獲取返回的字符串
String?result?=?new?String(EntityUtils.toString(entity,"gbk").getBytes(),"utf-8");
//此處用到了一個類
import?java.security.cert.CertificateException;
import?java.security.cert.X509Certificate;
import?javax.net.ssl.X509TrustManager;
public?class?MyX509TrustManager?implements?X509TrustManager?{
public?void?checkClientTrusted(X509Certificate[]?chain,?String?authType)?throws?CertificateException?{}
public?void?checkServerTrusted(X509Certificate[]?chain,?String?authType)?throws?CertificateException?{}
public?X509Certificate[]?getAcceptedIssuers()?{
return?null;
}
}
總結
以上是生活随笔為你收集整理的微信红包接口 java_【java微信开发】红包接口调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单链表排序(冒泡排序)(C语言)
- 下一篇: centos7已有数据硬盘挂载_干货!如