JAVA利用HttpClient进行HTTPS接口调用的方法
发布时间 - 2026-01-11 02:51:59 点击率:次本文介绍了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel如何处理表单验证?(Requests代码示例)
MySQL查询结果复制到新表的方法(更新、插入)
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
EditPlus中的正则表达式 实战(4)
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
制作公司内部网站有哪些,内网如何建网站?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
焦点电影公司作品,电影焦点结局是什么?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel如何处理文件下载请求?(Response示例)
如何挑选高效建站主机与优质域名?
Laravel如何配置和使用缓存?(Redis代码示例)
Python3.6正式版新特性预览
黑客入侵网站服务器的常见手法有哪些?
北京专业网站制作设计师招聘,北京白云观官方网站?
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
如何用好域名打造高点击率的自主建站?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
三星、SK海力士获美批准:可向中国出口芯片制造设备
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
如何在搬瓦工VPS快速搭建网站?
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
Swift开发中switch语句值绑定模式
如何在IIS中配置站点IP、端口及主机头?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
微信h5制作网站有哪些,免费微信H5页面制作工具?
香港网站服务器数量如何影响SEO优化效果?
简历在线制作网站免费版,如何创建个人简历?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何在万网开始建站?分步指南解析
如何在VPS电脑上快速搭建网站?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Android中AutoCompleteTextView自动提示
打造顶配客厅影院,这份100寸电视推荐名单请查收
如何自定义建站之星模板颜色并下载新样式?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
浅析上传头像示例及其注意事项
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
nodejs redis 发布订阅机制封装实现方法及实例代码
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭

