本文介绍了JAVA利用HttpClient进行HTTPS接口调用的方法,分享给大家,具体如下:

1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
/**
* 用于进行Https请求的HttpClient
* @ClassName: SSLClient
* @Description: TODO
* @author Devin <xxx>
* @date 2017年2月7日 下午1:42:07
*
*/
public class SSLClient extends DefaultHttpClient {
public SSLClient() throws Exception{
super();
SSLContext ctx = SSLContext.getInstance("TLS");
X509TrustManager tm = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
ctx.init(null, new TrustManager[]{tm}, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = this.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme("https", 443, ssf));
}
}
2.创建一个利用HttpClient发送post请求的工具类
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
/**
* 利用HttpClient进行post请求的工具类
* @ClassName: HttpClientUtil
* @Description: TODO
* @author Devin <xxx>
* @date 2017年2月7日 下午1:43:38
*
*/
public class HttpClientUtil {
@SuppressWarnings("resource")
public static String doPost(String url,String jsonstr,String charset){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
httpPost.addHeader("Content-Type", "application/json");
StringEntity se = new StringEntity(jsonstr);
se.setContentType("text/json");
se.setContentEncoding(new BasicHeader("Content-Type", "application/json"));
httpPost.setEntity(se);
HttpResponse response = httpClient.execute(httpPost);
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
}
3.测试代码
public static void main(String[] args){
String url = "https://192.168.1.101/xxx";
String jsonStr = "{xxx}";
String httpOrgCreateTestRtn = HttpClientUtil.doPost(url, jsonStr, "utf-8");
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java调用https接口
# java
# HTTPS接口调用
# httpclient接口
# Java利用httpclient通过get、post方式调用https接口的方法
# Java服务调用RestTemplate与HttpClient的使用详解
# Java原生HttpClient的使用详解
# Java使用HttpClient详细示例
# java中如何使用HttpClient调用接口
# 下午
# 给大家
# 为了避免
# 创建一个
# 大家多多
# gt
# xxx
# lt
# date
# authType
# SSLClient
# ClassName
# Https
# Description
# Devin
# author
# TODO
# tm
# TLS
# getInstance
相关文章:
c# 在高并发下使用反射发射(Reflection.Emit)的性能
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
如何正确选择百度移动适配建站域名?
建站之星如何实现五合一智能建站与营销推广?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
,怎么用自己头像做动态表情包?
建站为何优先选择香港服务器?
如何通过虚拟主机快速搭建个人网站?
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何在阿里云部署织梦网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何登录建站主机?访问步骤全解析
如何制作一个表白网站视频,关于勇敢表白的小标题?
建站之星各版本价格是多少?
如何在云虚拟主机上快速搭建个人网站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
小程序网站制作需要准备什么资料,如何制作小程序?
高防服务器:AI智能防御DDoS攻击与数据安全保障
专业网站建设制作报价,网页设计制作要考什么证?
建站之星伪静态规则如何设置?
如何选择高效便捷的WAP商城建站系统?
如何高效利用200m空间完成建站?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
如何通过多用户协作模板快速搭建高效企业网站?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
制作门户网站的参考文献在哪,小说网站怎么建立?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
江苏网站制作公司有哪些,江苏书法考级官方网站?
建站之星2.7模板快速切换与批量管理功能操作指南
建站之星安装失败:服务器环境不兼容?
如何选择适配移动端的WAP自助建站平台?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在万网自助建站中设置域名及备案?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
如何在云服务器上快速搭建个人网站?
建站之星上传入口如何快速找到?
XML的“混合内容”是什么 怎么用DTD或XSD定义
建站主机选择指南:服务器配置与SEO优化实战技巧
Python lxml的etree和ElementTree有什么区别
如何用IIS7快速搭建并优化网站站点?
公司网站设计制作厂家,怎么创建自己的一个网站?
盘锦网站制作公司,盘锦大洼有多少5G网站?
济南企业网站制作公司,济南社保单位网上缴费步骤?
建站之星如何取消后台验证码生成?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。