本文介绍了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
相关文章:
高性能网站服务器配置指南:安全稳定与高效建站核心方案
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
小型网站制作HTML,*游戏网站怎么搭建?
如何用腾讯建站主机快速创建免费网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
XML的“混合内容”是什么 怎么用DTD或XSD定义
linux top下的 minerd 木马清除方法
西安专业网站制作公司有哪些,陕西省建行官方网站?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
佛山网站制作系统,佛山企业变更地址网上办理步骤?
高性价比服务器租赁——企业级配置与24小时运维服务
建站主机服务器选购指南:轻量应用与VPS配置解析
如何快速打造个性化非模板自助建站?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
,有什么在线背英语单词效率比较高的网站?
家庭服务器如何搭建个人网站?
测试制作网站有哪些,测试性取向的权威测试或者网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
存储型VPS适合搭建中小型网站吗?
如何在建站主机中优化服务器配置?
定制建站哪家更专业可靠?推荐榜单揭晓
无锡营销型网站制作公司,无锡网选车牌流程?
建站主机如何安装配置?新手必看操作指南
大型企业网站制作流程,做网站需要注册公司吗?
如何设置并定期更换建站之星安全管理员密码?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
建站之星官网登录失败?如何快速解决?
网站按钮制作软件,如何实现网页中按钮的自动点击?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
建站主机CVM配置优化、SEO策略与性能提升指南
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
如何通过西部建站助手安装IIS服务器?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
如何快速生成专业多端适配建站电话?
如何快速查询网址的建站时间与历史轨迹?
网站制作公司,橙子建站是合法的吗?
微信推文制作网站有哪些,怎么做微信推文,急?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
广平建站公司哪家专业可靠?如何选择?
如何选择网络建站服务器?高效建站必看指南
建站之星代理如何优化在线客服效率?
如何快速生成高效建站系统源代码?
建站之星安装模板失败:服务器环境不兼容?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
建站之星伪静态规则如何设置?
*请认真填写需求信息,我们会在24小时内与您取得联系。